我在设置中使用NERDTree:
""""
" NerdTree
"
Bundle 'scrooloose/nerdtree'
Bundle 'jistr/vim-nerdtree-tabs'
map <F2> :NERDTreeTabsToggle<CR>
我可以用同一个文件打开任意数量的选项卡,只需按“t”即可。例如:
|foo.txt|bar.txt|foo.txt|foo.txt|
如何防止重复文件的打开?我想通过按't‘打开一个现有的缓冲区。
发布于 2015-05-12 11:51:41
我在这里找到了解决方案,https://github.com/scrooloose/nerdtree/issues/439
获取最新版本,并将其放在~/.vim/nerdtree_plugin/override_tab_mapping.vim中 https://gist.github.com/scrooloose/0495cade24f1f2ebb602
谢谢@moeabdol
发布于 2014-11-27 23:21:42
据我所知,NerdTree没有这样的行为。不过,我相信您要寻找的不是像@ :tab drop
提到的那样的:sb
,也可以是使用:sb
切换缓冲区的设置如下:set swb=useopen,usetabe
。
就我个人而言,我建议您将NerdTree用于更多的文件资源管理器,而不是文件/缓冲区管理器。通过利用Vim的缓冲区命令,您可以轻松地在缓冲区之间切换。此外,通过使用Vim的缓冲区命令,您可以避免“一对一:文件到选项卡关系陷阱”,从而使许多新的vimmers陷入困境。
撇开NerdTree不说
NerdTree对于探索复杂或不熟悉的文件结构非常有帮助,但它的代价是占用屏幕房地产,破坏缓冲区和窗口/拆分工作流。有关更多信息,请参见油醋窗和项目抽屉。对于很多人来说,使用像CtrlP这样漂亮的fuzzyfinder插件通常会取代NerdTree。
我有一篇很好的关于NerdTree的文章,这篇文章可能很有价值:文件,缓冲区,和分裂-哦,天啊!
除了标签
Vim的选项卡与大多数文本编辑器选项卡不同。它们更像是一组窗口/分区中的视图。此外,Vim是以缓冲区为中心的,而不是像大多数编辑器那样以标签为中心的。因此,使用像quickfix这样的特性通常更容易没有制表符(如果必须使用选项卡,请参见:h 'switchbuf
)。由于有更好的窗口和缓冲区导航命令,Vim的选项卡经常妨碍使用拆分。我个人有很多文件是打开的(有时是100+),不使用制表符,平均使用1-2个分片,没有任何问题。底线:阅读以下文章:
Vim映射的最佳实践
:map
变成了:nmap
<Plug>
或<SID>
映射,否则您可能应该使用:noremap
通过遵循这2条规则,您的映射将变成:
nnoremap <f2> :NERDTreeTabsToggle<cr>
发布于 2014-11-27 15:12:10
要打开一个新缓冲区,只需按o
https://stackoverflow.com/questions/27172873
复制相似问题