どうすればこれを行うことができますか?
コマンドモードで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 キーマップ 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>