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

时间:2017-06-10 12:01:47

标签: vim nerdtree

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

谢谢!

3 个答案:

答案 0 :(得分:5)

在你的vimrc中设置:let g:NERDTreeChDirMode = 2

答案 1 :(得分:3)

NERDTree提供了两个可以手动使用以实现此效果的映射:在节点上键入cd会将目录更改为该目录,并在节点上键入C,通过NERDTree“输入”它。

就个人而言,我经常将它们组合在一起 - 只需键入Ccd - C将进入目录并将光标留在其上,而cd会将工作目录更改为它

现在,如果您只想创建一个直接使用的映射,则可以使用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

这应该通过键绑定_C来实现。将key属性更改为您想要的密钥。

答案 2 :(得分:1)

cd CD cd ->更改pwd / cwd,而 CD ->将树根设置为pwd / cwd)