Sì. Documentazione di Vim, sezione 40.2, Mappature della riga di comando:
L'editor Vim ti consente di definire i tuoi comandi. Esegui questi comandi proprio come qualsiasi altro comando in modalità riga di comando. Per definire un comando, usa il comando ":command", come segue:
:command DeleteFirst 1delete
Ora quando esegui il comando":DeleteFirst" Vim esegue":1delete", che cancella la prima riga.
Nota:i comandi definiti dall'utente devono iniziare con una lettera maiuscola. Non puoi usare ":X", ":Next" e:Print". Il carattere di sottolineatura non può essere utilizzato! Puoi usare le cifre, ma questo è sconsigliato.
Inserisci quella riga nel tuo ~/.vimrc
(meno il :
iniziale ovviamente) e sarà definito ogni volta che avvierai vim. Inoltre, usa %:t
per fare riferimento al file che si sta modificando (scrivendo ! gcc %:t
viene sostituito da ! gcc foo.c
).
Se desideri che sia definito solo per un file o per determinati file, vuoi un comando automatico.
Vim ha già il supporto per i Makefile (:make). Se ne crei uno per la tua fonte, puoi specificare in esso cosa vuoi fare. Inoltre, tramite ctags, Vim sarà in grado di scorrere eventuali errori trovati durante la compilazione.
Aggiungi un comando dell'editor vi definito dall'utente:
Questo farà in modo che quando l'utente digita :Legend
in modalità normale, viene aggiunto un blocco di testo sotto il cursore.
Passaggio 1:inserisci questa riga in un file denominato ~/legend_header.txt`
this text will be added
Passaggio 2:inserisci questo comando nel tuo file ~/.vimrc (se il file non esiste, crealo):
"The following command puts the contents of ~/legend_header.txt
"under the cursor when the user types ":Legend" in normal mode.
command Legend :r ~/legend_header.txt
Passaggio 3:riavviare vi per rendere effettive le modifiche. Hai finito.
Provalo
Passaggio 1:apri un nuovo file in vi. Essere nella "modalità normale" predefinita in vi. Digita :Legend
Passaggio 2:il contenuto di ~/legend_header.txt
dovrebbe essere aggiunto dove si trova il cursore.