マッピングするにはどうすればよいですか<leader>r
CtrlPのキャッシュをクリアして更新します NERDTreeの ルートディレクトリ?
擬似コード、私は持っています:
map <Leader>r :CtrlPClearCache<cr>g:NERDTreeMapRefreshRoot<cr>
CtrlPClearCache
はキャッシュをクリアしますが、NERDTreeウィンドウを表示せずにNERDTreeのルートノードを更新するコマンドが見つかりません。
カスタムキーマップを使用して、NERDTree
とCtrlP
の両方を更新します。
nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>:CtrlPClearCache<cr>
私はそれをにマッピングしました Leader + r、しかし、あなたはそれをあなたが望むものにマップすることができます。
仕組み:
:NERDTreeFocus<cr>
-- NERDTreeウィンドウへの変更R
-ルートノードを更新します<c-w><c-p>
-前に選択したウィンドウに戻ります:CtrlPClearCache<cr>
-CtrlPキャッシュを更新します注:再帰的なマップバージョンでのみ機能します(つまり、noremapまたはnnoremapの代わりにmapまたはnmap)
ルートを更新するには、NERDTreeウィンドウにフォーカスする必要があると思います。これでうまくいくはずです:
nnoremap <Leader>r :CtrlPClearCache<cr>call NERDTreeMapRefreshRoot()<cr>
function! NERDTreeMapRefreshRoot()
if nerdtree#isTreeOpen()
call nerdtree#putCursorInTreeWin()
call nerdtree#invokeKeyMap('R')
" Go back to previous window.
wincmd p
endif
endfunction