如何才能做到这一点?
我想要使用 CTRL-R 在命令模式下粘贴它的路径。
最佳答案
您可以使用插件自己的扩展系统进行自定义映射;甚至在 :help NERDTreeAddKeyMap()
中给出的示例几乎可以满足您的要求。
只需将以下片段放入 ~/.vim/nerdtree_plugin/yank_mapping.vim
中:
call NERDTreeAddKeyMap({
\ 'key': '<LeftMouse>',
\ 'callback': 'NERDTreeYankCurrentNode',
\ 'quickhelpText': 'put full path of current node into the default register' })
function! NERDTreeYankCurrentNode()
execute "normal! \<LeftMouse>"
let n = g:NERDTreeFileNode.GetSelected()
if n != {}
call setreg('"', n.path.str())
endif
endfunction
上一个答案(没有 NERDTree Keymap API)
您可以在 plugin/NERD_tree.vim
末尾注入(inject)一个小函数来访问脚本的内部:
function! GetSelected()
return s:TreeFileNode.GetSelected()
endfunction
然后,修改(可以将它们放在同一个地方)将是:
:autocmd FileType nerdtree
\ nnoremap <silent> <buffer> <LeftMouse>
\ <LeftMouse>:silent! call setreg('"', GetSelected().path.str())<CR>
关于vim - 单击时从 Nerd 树复制路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14483579/