Jak používat Undo ve Vimu

Při úpravách pomocí Vim na Linuxu je snadné dělat chyby. Naštěstí je také snadné je vrátit zpět.

Jak vrátit zpět úpravu Vim

Jednoduché operace vrácení zpět Vim jsou podobné funkci zpět, kterou jste mohli použít v moderních textových procesorech, jako je Microsoft Word, LibreOffice Writer nebo Dokumenty Google. Vim sleduje změny, které v souboru provedete, a v případě potřeby se může vrátit zpět.

Vim považuje vše, co děláte v režimu vkládání nebo jakékoli příkazy v příkazovém režimu, za změny. Například:

  • Pokud napíšete několik řádků v režimu vkládání a poté provedete okamžité vrácení zpět, tyto řádky budou odstraněny.
  • Pokud napíšete řádek, přepnete se do příkazového režimu, poté se přepnete zpět do režimu vkládání a napíšete další text, vytvoříte dvě změny. Zpět odebere každý zvlášť.

Můžete také opakovat příkazy Vim jako „3dd“ a odstranit tři řádky. Pokud zadáte jeden z těchto složených příkazů, bude to také přepracováno jako poslední změna. Vracet můžete zpět, dokud se nevrátíte tam, kde jste začali, kdy jste soubor otevřeli nebo vytvořili.

Pokud si uvědomíte, že jste ve Vimu provedli úpravu, kterou jste nechtěli provést, její vrácení zpět je jednoduchý proces ve dvou krocích:

  • Stiskněte Esc, abyste se ujistili, že jste v příkazovém režimu.
  • Stisknutím u zrušíte předchozí změnu.
  • A je to. Zobrazí se zpráva o provedených změnách, například „n méně řádků“.

    Pokud chcete vrátit zpět více než jednu změnu, můžete to udělat také. Stačí před příkaz undo uvést počet změn, které chcete vrátit zpět, stejně jako u většiny ostatních příkazů Vim. Pokud byste například chtěli vrátit zpět dvě změny, stiskněte:

    2u 

    Jak opakovat ve Vimu

    Možná zjistíte, že váš příkaz undo dělá něco nežádoucího, nebo si to prostě rozmyslíte. V tomto případě můžete vydat příkazy redo, abyste soubor vrátili do předchozího stavu.

    Jak Vim sleduje vaše změny, sleduje také vaše vrácené kroky. Takže můžete vrátit zpět, pokud potřebujete, pomocí opakování operací. Pamatujte, že Vim považuje více řádků zadaných ve vstupním režimu za jednu změnu, takže pokud operaci zopakujete, získáte několik řádků zpět v jednom příkazu.

    Příkaz, jak to udělat, je Ctrl + r, pro „opakovat“. Ujistěte se, že jste v příkazovém režimu stisknutím Esc. Redo funguje na stejném principu jako undo; například opakování můžete zopakovat tak, že před něj přidáte počet opakování, který chcete provést.

    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 to opakovat libovolněkrát, dokud se nevrátíte zpět do aktuálního stavu souboru.