是否有可能每当我选择一个目录并从NERDTree输入该目录时,它都应该成为根目录?也就是说,每次我选择一个新目录时,都会触发以下两个命令:cd和:NERDTreeCWD?
谢谢!
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属性更改为您想要的任何密钥。