NERDTree命令自动更改目录和根目录

Seb*_*ebi 4 vim nerdtree

是否有可能每当我选择一个目录并从NERDTree输入该目录时,它都应该成为根目录?也就是说,每次我选择一个新目录时,都会触发以下两个命令:cd和:NERDTreeCWD

谢谢!

小智 6

set in your vimrc: let g:NERDTreeChDirMode = 2

  • 你是我的英雄。 (2认同)

And*_*dev 5

NERDTree 提供了两种映射,您可以手动使用来获得这种效果:cd在节点上键入会将目录更改为它,并C在节点上键入,通过 NERDTree “进入”它。

就我个人而言,我经常将它们组合起来——只需键入Ccd——theC将进入目录并将光标留在其上,acd将把工作目录更改为它。

现在,如果您只想创建一个直接使用的映射,您可以使用 NERDTree 的扩展机制。阅读:help NERDTreeAPI详细信息,但简短的版本是:放入一个~/.vim/nerdtree_plugin/cd_mapping.vim包含以下内容的文件:

call NERDTreeAddKeyMap({
            \ 'key':           '_C',
            \ 'callback':      'NERDTreeEnterDirectoryAndCD',
            \ 'quickhelpText': 'Enter directory and cd into it' })

function! NERDTreeEnterDirectoryAndCD()
  let node = g:NERDTreeDirNode.GetSelected()

  exec 'cd ' . node.path.str({'format': 'Cd'})
  NERDTreeCWD
endfunction
Run Code Online (Sandbox Code Playgroud)

这应该可以解决 keybinding 问题_C。将key属性更改为您想要的任何密钥。