Pomocí funkce Makro Vim můžete v editoru zaznamenávat a přehrávat sekvenci akcí.
Tento článek vysvětluje, jak provádět nahrávání a přehrávání v editoru Vi a Vim pomocí dvou podrobných příkladů.
Kroky na vysoké úrovni pro nahrávání a přehrávání ve Vimu
- Začněte nahrávat stisknutím klávesy q a následným malým písmenem pro pojmenování makra
- Proveďte všechny typické úpravy, akce v editoru Vim, které budou zaznamenány
- Zastavte záznam stisknutím q
- Přehrajte nahrané makro stisknutím tlačítka @ a názvu makra
- Chcete-li makra opakovat vícekrát, stiskněte :NN @ název makra. NN je číslo
Příklad 1:Generování pořadového čísla uvnitř souboru pomocí makra Vim
1. Spusťte soubor sequence-test.txt a vygenerujte sekvenci.
$ vim sequence-test.txt
2. Přejděte do režimu vkládání a zadejte „1“. jak je uvedeno níže
Zadejte:Esc i následované 1.
$ vim sequence-test.txt 1.
3. Spusťte záznam a uložte jej do registru a.
Zadejte:Esc q následované a
- q označuje zahájení nahrávání
- a označuje uložení nahrávek do registru a
- Když provedete q a, zobrazí se ve spodní části vi „nahrávání“.
4. Zkopírujte 1. řádek na 2. řádek, abyste měli dva řádky s 1 . jak je uvedeno níže
Zadejte:Esc yy následované p
- yy zkopíruje aktuální řádek
- p vloží řádek, který byl právě zkopírován
$ vim sequence-test.txt 1. 1.
Poznámka: Vim bude stále zobrazovat záznam ve spodní části, jak je znázorněno níže.
Obr :Vim zobrazující záznamovou zprávu ve spodní části
5. Zvyšte číslo.
Typ:Control a
Umístěním kurzoru na 2. řádek stiskněte Ctrl+a, čímž číslo zvýšíte na 2, jak je uvedeno níže.
$ vim sequence-test.txt 1. 2.
Poznámka: vim bude stále zobrazovat záznam ve spodní části.
6. Zastavte nahrávání
Typ:q
Stisknutím tlačítka q zastavíte nahrávání. Všimnete si, že záznamová zpráva ve spodní části vim je nyní pryč.
7. Opakujte záznam 98krát.
Zadejte:98@a
- Nyní tuto úlohu zopakujte zadáním 98 @ a
- @a jednou zopakuje makro „a“.
- 98@a zopakuje makra „a“ 98krát a pomocí maker vygeneruje pořadové číslo 1 – 100, jak je uvedeno níže.
Obr :Generování pořadového čísla ve Vimu pomocí makra
Příklad 2:Opakování makra Vim s různými argumenty
Tento příklad vysvětluje, jak můžete provést stejný příkaz s různými vstupy. tj. Rámování stejného příkazu s různými argumenty.
Před spuštěním makra:change-password.sql
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
Po nahrání a spuštění makra: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. Otevřete soubor change-password.sql, který obsahuje pouze názvy.
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
2. Spusťte záznam a uložte jej do registru a
Typ:q a
- q označuje zahájení nahrávání
- a označuje uložení nahrávek do registru a
- Když provedete q a, zobrazí se záznam zprávy ve spodní části vi.
3. Přejděte do režimu vkládání a zadejte ALTER USER
Zadejte:I (velké i) následované „ALTER USER“
Umístěte kurzor kamkoli do prvního řádku a poté stiskněte I. Tím se dostanete na první znak řádku. Zadejte ALTER USER
4. Zkopírujte další slovo (tj. název)
Typ:Esc w yw
- Stiskněte Esc a poté stiskněte w pro přechod na další slovo ( název ).
- yw, zkopíruje aktuální slovo ( název ).
5. Přejděte na konec a zadejte IDENTIFIED BY ‘
Napište:Esc A následované „IDENTIFIED BY“
- Stisknutím kláves Esc a A přesuňte kurzor na konec řádku a poté zadejte mezeru.
- Typ IDENTIFIED BY ‘
6. Vložte zkopírovaný název
Typ:Esc p
Stiskněte Esc a poté zadejte p pro vložení názvu, který byl zkopírován v kroku #4.
7. Dokončete citaci na konci.
Zadejte:Esc A následované ‘;
Stisknutím kláves Esc a A přejděte na konec řádku a poté „;
8. Přejděte na další řádek a zastavte záznam.
Zadejte:Esc j následované q
- j pro přechod na další řádek.
- q pro zastavení nahrávání
Poznámka: Zpráva o nahrávání zobrazená ve spodní části vi nyní zmizí. V této fázi bude change-password.sql vypadat následovně.
Obr :Vim Macro dokončilo nahrávání
9. Opakujte makro s argumenty v odpovídajícím řádku
Zadejte:8 @ a
- Nyní tuto úlohu zopakujte 8krát zadáním 8@a
- @a jednou zopakuje makro „a“.
- 8@a zopakuje makra „a“ 8krát a automaticky dokončí zbytek řádku, jak je znázorněno níže
Obr :Vim Macro Play dokončeno
Doporučená četba
Vim 101 Hacks, od Rameshe Natarajan . Jsem feťák z příkazového řádku. Takže jsem přirozeně velkým fanouškem editorů Vi a Vim. Před několika lety, když jsem psal hodně kódu C na Linuxu, jsem četl všechny dostupné tipy a triky editoru Vim. Na základě svých zkušeností s editorem Vim jsem napsal e-knihu Vim 101 Hacks, která obsahuje 101 praktických příkladů různých pokročilých funkcí Vim, díky nimž budete v editoru Vim rychlý a produktivní. I když používáte editory Vi a Vim několik let a nečetli jste tuto knihu, udělejte si laskavost a přečtěte si tuto knihu. Budete ohromeni možnostmi editoru Vim.
Úžasné články editoru Vim
Následuje několik skvělých návodů editoru Vi / Vim které by vám mohly pomoci.
- Turbocharge prohlížeč Firefox s funkcí Vim Editor pomocí doplňku Vimperator
- Výukový program:Udělejte z Vimu své IDE C/C++ pomocí pluginu c.vim
- Převeďte Vim Editor na krásný prohlížeč zdrojového kódu pro jakýkoli programovací jazyk
- 12 účinných příkladů hledání a nahrazování pro editor Vim
Poznámka: Přihlaste se k odběru The Geek Stuff a nenechte si ujít žádné budoucí tipy a triky editorů Vi a Vim .