it-swarm.dev

Jak uzavřít vim z příkazové řádky?

Vím, že se jedná spíše o obecnou linuxovou otázku, ale w/e. Takže když zadám program jako vim v příkazu Prompt, zobrazí se veškerý text v souboru a mohu jej upravit atd. Ale nedokážu přijít na to, jak soubor zavřít nebo uložit a vrátit se k příkazu Prompt bez zabití proces. Jakákoli pomoc je vítána.

46
Letseatlunch

V vim existují 3 různé režimy:

  • Vložit - umožňuje psaní a úpravy jako obvykle
  • Vizuální - používá se pro výběr kopie/vložit atd.
  • Normální - používá se pro příkazy

Pro návrat do normálního režimu můžete vždy stisknout esc.

Jakmile jste v normálním režimu Stiskněte : k zahájení příkazu (uvidíte, že se objeví v levém dolním rohu). Následující příkazy se vztahují k ukončení vim:

  • :q - skončí, pokud nebyly provedeny žádné změny
  • :q! - ukončit a zničit všechny provedené změny
  • :wq - zápis změn (uložení) a ukončení
  • :x - podobný :wq, zapište soubor, pouze pokud byly provedeny změny, pak ukončete
72
jondavidjohn

Nejprve udeřte escape klíč.1

Pak stačí napsat ZZ (to jsou dvě velká písmena Z v řadě).
Nebo zadejte :x. Buď uloží všechny úpravy a odejde.
Můžete také použít :wq

Alternativně můžete zadat :q (a.k.a, "končete, prosím" "Toto skončí, pouze pokud jste neprovedli úpravy.

Pokud jste provedli úpravy a chcete je zahodit a odejít, zadejte :q! (a.k.a "přestaň, zatraceně!")

1 : Tím je zajištěno, že jste v režimu příkazů. Které chcete pro psaní příkazů, jako jsou ty, které potřebujete k ukončení.

14
belacqua

Pro naši nepříjemnost neexistuje žádná obecná metoda pro ukončení programů příkazového řádku, jako je tlačítko „X“ pro grafické programy.

Mnoho programů příkazového řádku následuje téma použití jednoho Q (např. man a top) nebo Ctrl+C (např. ping a watch) k ukončení, ale toto se značně liší, zejména u textových editorů:

  • Vim používá zejména nejasnou kombinaci :q! pak Enter, obvykle předchází několik stisků Esc pro dobrou míru.
  • Emacs , preferuje další drahokam Ctrl+X následován Ctrl+C.

Editoři, jako je tento, jsou pastí pro nezkušené. Moje osobní preference a doporučení je, když jsem nucen editovat text na příkazové řádce, použijte místo toho více sebevysvětlující Joe's Own Editor (JOE) .

4
ændrük

Vedle odpovědi jondavidjohna jsou zde dva odkazy, které mají nezbytné informace o používání vim.

  1. Jedná se o grafiku klávesnice, která ukazuje, co každá klávesa dělá v závislosti na tom, zda jste v režimu úprav, příkazovém režimu nebo vizuálním režimu:

    http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

  2. Toto je nejlepší vim tutoriál, se kterým jsem kdy pracoval. Je to konverzační a snadno pochopitelné, což je způsobeno formátem IRC/instant messaging.

    http://www.vi-improved.org/tutorial.php

Konečně existují i ​​podobní uživatelé jako aendruk, kteří prostě nechtějí používat pokročilé textové editory příkazového řádku. Zejména Vim má příkrou křivku učení a ve skutečnosti vyžaduje určitou počáteční snahu, než si na ni zvykne. Ale je to velmi rychlé a velmi silné. Pokud máte zájem o linux mimo základní využití plochy, vyplatí se investovat čas do učení slušného textového editoru příkazového řádku, jako je Vim nebo Emacs. Pokud potřebujete pouze upravit nějaký text a nezajímá vás to, zkuste zadat gedit filename.txt namísto. Spustí známý grafický program, podobně jako Poznámkový blok ze systému Windows.

3
djeikyb

-li Esc :q! nefunguje,

zkuste první Ctrl+q (k odemčení obrazovky, která byla uzamčena Ctrl+s)

pak zkuste znovu Esc :q! (ukončit bez uložení) nebo Esc :wq (pro uložení a ukončení)

2
Gael P

Chcete ukončit bez uložení:

  1. Udeřil ESC
  2. Udeřil ZQ

Ukončete s uložením:

  1. Udeřil ESC
  2. Udeřil ZZ
0
Zoltan