Alternando entre arquivos src e include no vim

3

Estou escrevendo uma biblioteca que é organizada em dois diretórios src / e include / paralelos e razoavelmente profundos que contêm meus arquivos .cpp e .h, respectivamente. Meu editor favorito é o vim, mas ainda não encontrei uma boa maneira de alternar rapidamente entre os arquivos de origem e de cabeçalho rapidamente. Por exemplo, posso me encontrar editando

~/workspace/myproject/include/myproject/core/utils/coolutil.h

e decidi que agora preciso fazer uma pequena alteração em

~/workspace/myproject/src/myproject/core/utils/coolutil.cpp.

Existe uma maneira conveniente e ergonômica de lidar com esses switches rapidamente no (g) vim? Minha abordagem atual é manter dois NERDTrees abertos, um para src / e um para include /, embora eu ache que deve haver uma abordagem menos complicada.

    
por rcv 21.07.2011 / 04:59

2 respostas

1

Esta função pode fazer o que você quiser. Coloque-o no seu ~ / .vimrc ou em um plugin. Ele assume que todos os seus arquivos .cpp e .h estão em diretórios paralelos como em seu exemplo.

function! OpenOther()
    if expand("%:e") == "cpp"
        exe "split" fnameescape(expand("%:p:r:s?src?include?").".h")
    elseif expand("%:e") == "h"
        exe "split" fnameescape(expand("%:p:r:s?include?src?").".cpp")
    endif
endfunction

nmap ,o :call OpenOther()<CR>

Quando você tiver o arquivo .cpp ou .h aberto, digitar ,o abrirá o outro em uma janela dividida.

    
por 21.07.2011 / 08:37
3

O plugin a.vim alternativo resolve isso. É um deve ter ao programar em C ou em C ++.

    
por 21.07.2011 / 13:09

Tags