Como mapear ctrl / p limpar cache e atualizar o nó raiz NERDTree?

1

Como faço para mapear <leader>r , que limpa o cache de CtrlP e atualiza o diretório raiz do NERDTree?

Pseudo-código, tenho:

map <Leader>r :CtrlPClearCache<cr>g:NERDTreeMapRefreshRoot<cr>

CtrlPClearCache limpa o cache, mas não encontrei um comando para atualizar o nó raiz do NERDTree, sem estar em uma janela NERDTree.

    
por Christian Fazzini 31.03.2015 / 14:43

2 respostas

2

Atualizar ambos CtrlP e NERDTree

Eu uso um mapa de chaves personalizado para atualizar os itens NERDTree e CtrlP :

nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>:CtrlPClearCache<cr>

Eu o mapeei para Líder + r , mas você pode mapeá-lo para o que você quiser.

Como funciona:

  1. :NERDTreeFocus<cr> - Alterações na janela do NERDTree
  2. R - Atualiza o nó raiz
  3. <c-w><c-p> - volta para a janela selecionada anteriormente
  4. :CtrlPClearCache<cr> - Atualiza o cache CtrlP

Observação: só funciona com versões de mapas recursivas (ou seja, mapear ou nmap em vez de noremap ou nnoremap)

    
por 22.10.2016 / 23:33
1

Eu acho que você tem que focar a janela do NERDTree para atualizar a raiz. Isso deve fazer o truque:

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
    
por 31.03.2015 / 18:06

Tags