怎么可能这样做?
我想用CTRL-R将命令模式粘贴到路径上。
答案 0 :(得分:2)
您可以使用插件自己的扩展系统进行自定义映射;甚至在: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
的末尾注入一个小函数来访问脚本的内部:
function! GetSelected()
return s:TreeFileNode.GetSelected()
endfunction
然后,修改(你可以将它们放在同一个地方)将是:
:autocmd FileType nerdtree
\ nnoremap <silent> <buffer> <LeftMouse>
\ <LeftMouse>:silent! call setreg('"', GetSelected().path.str())<CR>