Při práci s editorem Vim v prostředí Linux se snadno dopustíme chyb. Naštěstí, jejich náprava je stejně snadná.
Jak zvrátit úpravy ve Vimu
Základní operace pro zrušení změn ve Vimu jsou podobné funkcím „Zpět“, které znáte z moderních textových procesorů, jako jsou Microsoft Word, LibreOffice Writer nebo Google Dokumenty. Vim si pamatuje všechny úpravy, které provedete v souboru, a v případě potřeby je dokáže vrátit zpět.
Vim považuje za změnu jakékoli akce prováděné v režimu vkládání textu nebo jakékoli příkazy zadané v příkazovém režimu. Například:
- Pokud napíšete několik řádků v režimu vkládání a poté okamžitě použijete „Zpět“, všechny tyto řádky budou smazány.
- Pokud napíšete jeden řádek, přepnete se do příkazového režimu, a následně se vrátíte do režimu vkládání a napíšete další text, vytvoříte tím dvě samostatné změny. Každou z nich pak lze vrátit zpět jednotlivě.
Můžete také používat složitější příkazy Vimu, například „3dd“ pro smazání tří řádků. I takovýto složený příkaz bude zaznamenán jako jedna poslední změna. Zpět můžete postupovat, dokud se nevrátíte do stavu, v jakém byl soubor v okamžiku jeho otevření nebo vytvoření.
Pokud ve Vimu zjistíte, že jste udělali něco, co jste nechtěli, zrušení této změny je jednoduchý dvoukrokový proces:
A to je vše. Zobrazí se krátká zpráva o provedených změnách, například „n řádků odstraněno“.
Pokud potřebujete vrátit zpět více změn najednou, je to také možné. Stačí před příkaz „undo“ zadat počet změn, které chcete vrátit zpět, stejně jako u mnoha jiných příkazů ve Vimu. Například, pro vrácení dvou posledních změn stiskněte:
2u
Jak opakovat akce ve Vimu
Někdy se může stát, že zrušení změny není to, co jste chtěli, nebo si to prostě rozmyslíte. V takovém případě můžete použít příkazy „redo“ pro obnovení předchozího stavu souboru.
Stejně jako Vim sleduje vaše změny, sleduje i vaše kroky zpět. Proto můžete vracet akce zpět a poté je zase obnovovat, pokud je to potřeba. Nezapomeňte, že Vim považuje více řádků zadaných v režimu vkládání za jedinou změnu, takže po obnovení takovéto změny se vrátí všechny tyto řádky najednou.
Pro obnovení změny použijte klávesovou zkratku Ctrl + r. Ujistěte se předtím, že jste v příkazovém režimu stisknutím klávesy Esc. „Redo“ funguje na stejném principu jako „undo“: počet opakování obnovení můžete zadat před zkratku, například „3Ctrl+r“ pro obnovení tří zrušených změn.
Stejně jako u příkazu „Zpět“ se zobrazí krátká zpráva o změnách, které byly znovu provedeny, například o počtu řádků přidaných do souboru. Můžete takto opakovat libovolněkrát, dokud se nedostanete do aktuálního stavu souboru.