Existem alguns plug-ins que podem alternar entre arquivos C / C ++ .c
e .h
; alguns podem ser configuráveis para lidar com seu caso de uso. Contudo, tal mapeamento (ou comando) pode ser facilmente definido, e. para <Leader>a
:
:nnoremap <expr> <Leader>a ':edit ' . (expand('%:t:r') =~? '_test$' ? expand('%:s?_test??') : expand('%:r') . '_test.' . expand('%:e')) . '<CR>'
Isso usa :help filename-modifiers
para extrair, comparar e montar um comando :edit
.
O acima é globalmente para uso em ~/.vimrc
; Se você quiser isso apenas para arquivos Go, use :nnoremap <buffer> <expr> ...
Em seguida, prefixar :autocmd Filetype go
e colocar isso em ~/.vimrc
, ou, como isso fica difícil ao adicionar mapeamentos e outras configurações para vários tipos de arquivos, coloque os comandos em ~/.vim/ftplugin/go_mappings.vim
. (Isso requer que você tenha :filetype plugin on
.)