打开NERDTree并将光标移动到文件编辑区 - Vim

26

我尝试按照NERDTree在GitHub上FAQ部分的说明进行操作:

"问:如何在vim启动时自动打开NERDTree?"

"答:将以下代码添加到你的vimrc文件:autocmd vimenter * NERDTree"

这种方法可以奏效,但当我打开一个文件时,光标停留在NEARDTree浏览器区域而不是编辑区域,我必须按Ctrl+w+l才能将其移回,那么我应该在我的.vimrc文件中写些什么来自动设置光标在编辑区域呢?


1
另外,不要使用NerdTree或更具体地避免抽屉。这是一篇不错的Vimcast文章:油和醋-分割窗口和项目抽屉。就我个人而言,我很少需要使用文件浏览器。我发现简单的制表符完成、模糊查找、ctags/cscope以及Tim Pope的Projectionist可以满足我的需求,而不会浪费任何空间或打开令人讨厌的分割窗口。 - Peter Rincker
可能是如何让VIM启动时NERDtree不成为默认窗口?的重复问题。 - linesarefuzzy
2个回答

48

紧接着,请添加第二个命令:

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
如果你想要一个单行代码的话,可以这样写:
autocmd VimEnter * NERDTree | wincmd p

谢谢,它好用!顺便问一下,你的一行代码结尾省略了一个 p 吗?没有它我会出错。 - Bamqf

2

如果你希望保留默认行为,即在没有指定文件的情况下仅保留 NERDTree 浏览器(i.e. 仅当有文件需要编辑时才开启),可以使用以下设置:

autocmd VimEnter * if argc() == 1 | NERDTree | wincmd p | endif


你忘记了默认操作。完整的代码应该是 autocmd VimEnter * if argc() == 1 | NERDTree | wincmd p | else | NERDTree | endif - George Aristy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接