So unterteilen Sie eine lange Zuordnungszeile in vimrc-Zuordnungen in mehrere kurze Zeilen

7

Ich habe zum Beispiel ein sehr langes vimrc-Mapping zu erledigen

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

Wie kann ich diese lange Zeile in mehrere kurze Zeilen aufteilen, damit ich alles auf einem Bildschirm sehen kann?

So etwas wie der folgende Stil:

 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
quelle

Antworten:

10

Sie können Ihre lange Zeile teilen, indem Sie am Anfang jeder fortgesetzten Zeile ein Vim-Zeilenfortsetzungszeichen (Backslash) einfügen:

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

Dies wird hier erklärt : :help line-continuation. Sie sollten den Kommentar zu führenden Leerzeichen beachten, dh:

Alle führenden Leerzeichen in der Zeile vor einem Backslash werden ignoriert.
Beachten Sie jedoch, dass nachfolgende Leerzeichen in der Zeile, bevor sie nicht frei eingefügt werden können. Es hängt von der Position ab, an der ein Befehl aufgeteilt wird, ob zusätzliche Leerzeichen zulässig sind oder nicht.

nst0022
quelle
1
Du hast mich um ein paar Sekunden geschlagen. Wenn Sie den VimDoc-Link hinzufügen, lösche ich meine Antwort.
Karl Yngve Lervåg
1
@ KarlYngveLervåg: Hmm, hmm. Ich zögere es, einen Link zur Online-Dokumentation hinzuzufügen. Wenn ich das jetzt tun würde, müsste ich das für immer tun, und ich fürchte einfach die Anstrengung. Ich erwarte, dass du "fair genug" antwortest ;-).
nst0022
1
Ich habe dir die Arbeit gerettet.
Karl Yngve Lervåg
1
Meinetwegen :-).
nst0022