首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当缓冲区位于vim目录中时执行命令

当缓冲区位于vim目录中时执行命令
EN

Stack Overflow用户
提问于 2019-10-29 15:02:36
回答 1查看 535关注 0票数 1

当缓冲区指向目录时(如打开vim时打开NERDTree,指向dir)和缓冲区为空/启动屏幕时,我正在搜索一种执行命令(:term)的方法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-29 15:31:27

像NERDTree这样的插件使用所谓的划痕缓冲区来显示它们的"UI“。对于语法突出显示,大多数还设置了一个自定义的、特定于插件的文件类型.这样您就可以连接到:help FileType事件::autocmd FileType nerdtree ...

直接打开终端对我不起作用,因为插件在它的scratch缓冲区设置中被中断,并且不期望终端会干扰。这里至少需要额外的命令才能返回到原始的scratch缓冲区。(不过,像:echomsg这样不显眼的东西也能发挥作用。)或者你只需通过feedkeys()延迟开幕

代码语言:javascript
运行
复制
:autocmd FileType nerdtree call feedkeys(":terminal\<CR>")

一种更通用的方法(不仅适用于NERDTree)可以连接到BufWinEnter并检查&buftype == 'nofile' (这是划痕缓冲区的一个典型属性)。

要检查Vim是否使用“启动屏幕”启动,请使用VimEnter并检查该empty(bufname(''))

代码语言:javascript
运行
复制
:autocmd VimEnter * if empty(bufname('')) | exe "terminal" | endif
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58610085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档