vim-windows – Evite que CtrlP se abra en NERDTree

Pregunta:

Utilizo CtrlP y NERDTree en mi Vim. Cuando abro un archivo usando la CtrlP búsqueda CtrlP , a veces se abre en la ventana NERDTree (y siempre si la ventana NERD es la activa).

¿Cómo puedo evitar que CtrlP abra archivos en NERDTree y obligarlo a abrirlos en la ventana principal? Intenté CtrlP documentos de CtrlP en Vim, pero no pude encontrar la manera.

Estas son todas las configuraciones relacionadas con NERDTree y CtrlP en mi .vimrc :

let g:netrw_liststyle    = 3
let NERDTreeShowHidden   = 1
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']

command E Ex

map <C-t> :NERDTreeTabsToggle<CR>
nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>:CtrlPClearCache<cr>

Respuesta:

Finalmente encontré una manera de hacer esto que no implica cerrar NERDTree todo el tiempo.

Hice una función que recorre las ventanas abiertas hasta que encuentra un búfer escribible, luego ejecuta ctrl-p allí:

function! CtrlPCommand()
    let c = 0
    let wincount = winnr('$')
    " Don't open it here if current buffer is not writable (e.g. NERDTree)
    while !empty(getbufvar(+expand("<abuf>"), "&buftype")) && c < wincount
        exec 'wincmd w'
        let c = c + 1
    endwhile
    exec 'CtrlP'
endfunction

let g:ctrlp_cmd = 'call CtrlPCommand()'

Debería funcionar para cualquier panel, por ejemplo, MiniBufferExplorer.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım