Como quebrar uma longa linha de mapeamento em várias linhas curtas no mapeamento vimrc

7

Eu tenho um mapeamento vimrc muito longo para lidar, por exemplo

nnoremap <space>e :exe "!tmux send-keys -t.- 'cd $TEST' Enter"<Cr> :exe "!tmux send-keys -t.- 'source $TEST_NT/bin/activate' Enter"<Cr>

como posso dividir esta longa linha em várias linhas curtas para que eu possa ver tudo em uma tela

Algo como o seguinte estilo:

 nnoremap <space>e 
     :exe "!tmux send-keys -t.- 'cd $TEST' Enter"<Cr> 
     :exe "!tmux send-keys -t.- 'source $TEST_NT/bin/activate' Enter"<Cr> 
SLN
fonte

Respostas:

10

Você pode dividir sua linha longa inserindo um caractere de continuação de linha Vim (barra invertida) no início de cada linha contínua:

nnoremap <space>e 
       \ :exe "!tmux send-keys -t.- 'cd $TEST' Enter"<Cr> 
       \ :exe "!tmux send-keys -t.- 'source $TEST_NT/bin/activate' Enter"<Cr>

Isto é explicado aqui: :help line-continuation. Você deve observar o comentário no espaço em branco à esquerda, ou seja:

Todos os caracteres de espaço em branco à esquerda na linha antes de uma barra invertida são ignorados.
Observe, no entanto, que o espaço em branco à direita na linha antes de não poder ser inserido livremente; isso depende da posição em que um comando é dividido, se um espaço em branco adicional é permitido ou não.

nst0022
fonte
11
Você me venceu por alguns segundos. Se você adicionar o link VimDoc, excluirei minha resposta.
Karl Yngve Lervåg
11
@ KarlYngveLervåg: Hmm, hmm. Estou relutante em adicionar um link para a documentação online. Se eu fizesse isso agora, teria que fazer isso para sempre, e simplesmente temo o esforço. Espero que você responda "justo o suficiente" ;-).
Nt0022 6/0918
11
Eu salvei o trabalho para você.
Karl Yngve Lervåg
11
Justo :-).
Nst0022 6/0918