Utilizzando la funzione Vim Macro puoi registrare e riprodurre una sequenza di azioni all'interno dell'editor.
/>
Questo articolo spiega come eseguire la registrazione e la riproduzione all'interno dell'editor Vi e Vim utilizzando due esempi dettagliati.
Passaggi di alto livello per registrare e riprodurre all'interno di Vim
- Inizia la registrazione premendo q, seguito da un carattere minuscolo per assegnare un nome alla macro
- Esegui qualsiasi modifica tipica, azione all'interno dell'editor Vim, che verrà registrato
- Interrompi la registrazione premendo q
- Riproduci la macro registrata premendo @ seguito dal nome della macro
- Per ripetere più volte le macro, premere :NN @ nome macro. NN è un numero
Esempio 1:generazione del numero di sequenza all'interno di un file utilizzando Vim Macro
1. Avvia un file sequence-test.txt per generare la sequenza.
$ vim sequence-test.txt
2. Vai alla modalità di inserimento e digita "1". come mostrato di seguito
Digitare:Esc io seguito da 1.
$ vim sequence-test.txt 1.
3. Avvia la registrazione e salvala nel registro a.
Digitare:Esc q seguito da a
- q indica di avviare la registrazione
- a indica di memorizzare le registrazioni nel registro a
- Quando fai q a, visualizzerà "registrazione" nella parte inferiore del vi.
4. Copia la 1a riga sulla 2a riga per avere due righe con 1 . come mostrato di seguito
Digitare:Esc yy seguito da p
- yy copierà la riga corrente
- p incollerà la riga appena copiata
$ vim sequence-test.txt 1. 1.
Nota: Vim mostrerà ancora la registrazione in basso come mostrato di seguito.
Fig :Vim che mostra il messaggio di registrazione in basso
5. Aumenta il numero.
Digita:Control a
Posizionando il cursore sulla 2a riga, premi Ctrl+a che incrementa il numero a 2. come mostrato di seguito.
$ vim sequence-test.txt 1. 2.
Nota: vim mostrerà ancora la registrazione in basso.
6. Interrompi la registrazione
Digitare:q
Premere q per interrompere la registrazione. Noterai che il messaggio di registrazione nella parte inferiore del vim è sparito.
7. Ripeti la registrazione 98 volte.
Digita:98@a
- Ora ripeti questo lavoro, digitando 98 @ a
- @a ripete la macro "a" una volta.
- 98@a ripete le macro “a” 98 volte generando il numero di sequenza 1 – 100 come mostrato di seguito utilizzando le macro.
Fig :Genera il numero di sequenza in Vim usando Macro
Esempio 2:ripeti Vim Macro con argomenti diversi
Questo esempio spiega come eseguire lo stesso comando, con input diversi. cioè Inquadrare lo stesso comando, con argomenti diversi.
Prima di eseguire la macro:change-password.sql
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
Dopo aver registrato ed eseguito la Macro:change-password.sql
$ vim change-password.sql ALTER USER Annette IDENTIFIED BY 'Annette'; ALTER USER Warren IDENTIFIED BY 'Warren'; ALTER USER Anthony IDENTIFIED BY 'Anthony '; ALTER USER Preston IDENTIFIED BY 'Preston'; ALTER USER Kelly IDENTIFIED BY 'Kelly '; ALTER USER Taylor IDENTIFIED BY 'Taylor'; ALTER USER Stiller IDENTIFIED BY 'Stiller'; ALTER USER Dennis IDENTIFIED BY 'Dennis'; ALTER USER Schwart IDENTIFIED BY 'Schwart';
1. Apri il change-password.sql che ha solo i nomi.
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
2. Avvia la registrazione e salvala nel registro a
Digitare:qa
- q indica di avviare la registrazione
- a indica di memorizzare le registrazioni nel registro a
- Quando fai q a, visualizzerà la registrazione del messaggio nella parte inferiore del vi.
3. Vai a Modalità inserimento e digita ALTER USER
Digitare:I (i maiuscola) seguito da “ALTER USER ”
Posiziona il cursore in un punto qualsiasi della prima riga, quindi premi I. Questo ti porterà al primo carattere della riga. Digita ALTER USER
4. Copia la parola successiva (cioè il nome)
Digitare:Esc w yw
- Premere Esc, quindi premere w per passare alla parola successiva ( nome ).
- yw, copia la parola corrente ( nome ).
5.Vai alla fine e digita IDENTIFIED BY '
Digitare:Esc A seguito da "IDENTIFIED BY""
- Premi Esc e A per spostare il cursore alla fine della riga, quindi digita spazio.
- Tipo IDENTIFICATO DA "
6. Incolla il nome copiato
Digitare:Esc p
Premi Esc, quindi digita p per incollare il nome che è stato copiato nel passaggio n. 4.
7. Completa il preventivo alla fine.
Digita:Esc A seguito da ';
Premi Esc e A per andare alla fine della riga e ";
8. Salta alla riga successiva e interrompi il record.
Digitare:Esc j seguito da q
- j per passare alla riga successiva.
- q per interrompere la registrazione
Nota: Il messaggio di registrazione mostrato nella parte inferiore di vi ora scomparirà. A questo punto, change-password.sql sarà simile al seguente.
Fig :Vim Macro ha completato la registrazione
9. Ripeti la Macro con gli argomenti nella riga corrispondente
Digitare:8 @ a
- Ora ripeti questo lavoro 8 volte digitando 8@a
- @a ripete la macro "a" una volta.
- 8@a ripete le macro “a” 8 volte completando automaticamente il resto della riga come mostrato di seguito
Fig :Riproduzione Vim Macro completata
Lettura consigliata
Vim 101 Hacks, di Ramesh Natarajan . Sono un drogato da riga di comando. Quindi, naturalmente sono un grande fan degli editor di Vi e Vim. Diversi anni fa, quando scrivevo molto codice C su Linux, leggevo tutti i suggerimenti e i trucchi disponibili per l'editor Vim. Sulla base della mia esperienza con l'editor Vim, ho scritto l'eBook Vim 101 Hacks che contiene 101 esempi pratici su varie funzionalità avanzate di Vim che ti renderanno veloce e produttivo nell'editor Vim. Anche se usi Vi e Vim Editor da diversi anni e non hai letto questo libro, per favore fatti un favore e leggi questo libro. Rimarrai stupito dalle capacità dell'editor Vim.
Fantastici articoli sull'editor di Vim
Di seguito sono riportati alcuni fantastici tutorial dell'editor Vi / Vim che potresti trovare utile.
- Browser Firefox turbo con funzionalità Vim Editor utilizzando il componente aggiuntivo Vimperator
- Tutorial:crea Vim come IDE C/C++ usando il plug-in c.vim
- Converti Vim Editor in un bellissimo browser di codice sorgente per qualsiasi linguaggio di programmazione
- 12 potenti esempi di ricerca e sostituzione per Vim Editor
Nota: Iscriviti a The Geek Stuff e non perdere nessun futuro Suggerimenti e trucchi per editor di Vi e Vim .