Vim NERDTree。如何禁止选项卡中的重复文件?

时间:2014-11-27 14:24:40

标签: vim nerdtree

我使用NERDTree设置:

""""
" NerdTree
"
Bundle 'scrooloose/nerdtree'
Bundle 'jistr/vim-nerdtree-tabs'
map <F2> :NERDTreeTabsToggle<CR>

我可以通过按&t;&#39;打开任意数量的标签。例如:

|foo.txt|bar.txt|foo.txt|foo.txt|

如何防止重复文件的打开?我想通过按“&#39;

来打开现有的缓冲区。”

3 个答案:

答案 0 :(得分:2)

我在这里找到了解决方案https://github.com/scrooloose/nerdtree/issues/439

  

抓住最新版本并坚持下去   〜/的.vim / nerdtree_plugin / override_tab_mapping.vim

     

https://gist.github.com/scrooloose/0495cade24f1f2ebb602

谢谢@moeabdol

答案 1 :(得分:1)

根据我的理解,NerdTree没有这样的行为。我相信你要找的是@ :tab drop,如@Ben所提到的,或者使用:sb来切换缓冲区,使用以下设置:set swb=useopen,usetabe

我个人建议你使用NerdTree来获取更多的文件资源管理器而不是文件/缓冲区管理器。通过利用Vim的缓冲区命令,您可以轻松地在缓冲区之间切换。此外,通过使用Vim的缓冲区命令,您可以避免“一对一:文件到标签关系陷阱”,这么多新的vimmer会被卡住。

除了NerdTree

NerdTree非常有助于探索复杂或不熟悉的文件结构,但它的代价是占用屏幕空间并破坏缓冲区和窗口/拆分工作流程。有关详情,请参阅Oil and vinegar - split windows and the project drawer。使用像CtrlP这样的漂亮的fuzzyfinder插件经常取代NerdTree给很多人。

我有一篇关于NerdTree的好文章可能有价值:Files, Buffers, and Splits Oh My!

除了标签

Vim的标签与大多数文本编辑器标签不同。它们更像是一组窗口/分裂的视口。此外,Vim以缓冲区为中心,而不像大多数编辑器那样以标签为中心。因此,如果没有标签,使用快速修复列表等功能通常会更容易(如果必须使用标签,请参阅:h 'switchbuf)。 Vim的选项卡经常妨碍使用拆分,因为有更好的窗口和缓冲区导航命令可用。我个人有很多文件打开(有时100多个)使用没有标签,平均使用1-2分裂没有任何问题。底线:阅读以下帖子:

Vim映射的最佳实践

  • 提供模式。因此:map变为:nmap
  • 除非使用<Plug><SID>映射,否则您应该使用:noremap

通过遵循以下2条规则,您的映射将成为:

nnoremap <f2> :NERDTreeTabsToggle<cr>

答案 2 :(得分:0)

要打开新缓冲区,只需按o

即可