Comment puis-je quitter Vi?

81

J'ai démarré Vi sur ma machine Ubuntu. Cependant, je suis nouveau dans Vi, et maintenant je ne peux pas arrêter. Je vois l'éditeur et je peux écrire du texte. À la dernière ligne, il y a une étiquette "enregistrement".

Comment puis-je quitter Vi?

Jonas
la source
1
L'enregistrement, en passant, signifiait que vous enregistriez une macro. Pas que ça compte plus.
Frabjous
4
Cette question ramène de tels souvenirs "amusants". Je suis si heureux d'avoir surmonté ce sentiment, cependant.
frabjous
Comment pouvons-nous revenir en mode insertion à partir du mode lecture seule dans l'éditeur de VI Linux (Ubuntu dans VMware installé)?
2
Quitter Vim est devenu un mème maintenant.
nozɐɹƆ
2
Pour ceux qui n'ont pas encore vu cette blague: twitter.com/iamdevloper/statuses/435555976687923200
Federico Poloni

Réponses:

92

vim est un éditeur modal . Appuyez sur la ESCtouche pour passer en mode normal (commande), puis tapez :qet appuyez sur Enter.

Pour quitter sans enregistrer les modifications, tapez :q!et appuyez sur Enter.

Voir aussi Obtention de documentation dans Vim.

Sinan Ünür
la source
9
Merci: J'ai essayé que les commandes, mais après leur exécution j'ai été invité avec: E37: No write since last change (add ! to override). Je n'ai rien à sauver.
Jonas
12
Utilisez cette option :wqsi vous souhaitez enregistrer ce que vous avez modifié, puis quitter. :q!si vous voulez quitter et laisser vos modifications derrière.
Steven D
Ou, si vous avez écrit quelque chose dont vous souhaitez faire une copie :w newFileName.txt, résolvez le problème en lecture seule en dehors de vi ou vim .
Kevin Cantu
5
quitter :q; force quitter :q!; quitter et économiser :wqou:x
fromnaboo
2
@ Jonas, la prochaine fois :qall!, j'imagine que vous avez ouvert plusieurs fichiers dans un seul tampon.
Alan Dong
11

J'utilise ctrl+ [pour générer la escséquence, cela m'évite de devoir déplacer mes doigts de la ligne de départ (rappelez-vous que la escclé était à un endroit différent au moment de vison invention. :wqJ'écrirai tous les fichiers sans aucune nécessité. Je suggère d'utiliser ZZ(qui est shift+ zdeux fois ) qui n'écrira que si une modification a été apportée au fichier, :xacomme c'est le ZZcas sauf si vous avez plus d'un fichier ouvert dans l'instance de l'éditeur (comme les onglets vim). note: je ne suis pas sûr que ce soit tout 100% compatible avec tous les clones vi, mais je sais que cela fonctionne avec vim

xénoterracide
la source
1
Merci. La ZZcommande semble être utile. Je peux voir le point avec Ctrl+[mais j'utilise un clavier suédois et je dois appuyer AltGr+8pour [que ce soit Ctrl+AltGr+8pour moi :(
Jonas
Notez également ZQest effectivement le même que :q!. Cependant, ce n'est pas standard. ZZd'autre part, est spécifié dans POSIX .
Wildcard
4

Le quitter de la vi est une autre façon est Esc :x.

L'option est utilisée pour enregistrer et quitter en même temps.

loganaayahee
la source
2
Notez que comme ZZ, :xva écrire le fichier que si son contenu a changé, à la différence :wq.
jeudi
2

Comme Sinan l'a dit, vim est un éditeur modal. Si vous voulez savoir si cela fonctionne pour vous, vous devriez peut-être investir un peu de temps et utiliser vimtutorun moyen interactif d'apprendre vim. (Il explique également comment sortir, ce que signifient les modes et ce que vous pouvez faire dans chaque mode).

tante
la source
-2

Après modification, veuillez appuyer sur ESCet sur la commande donnée :wq!.

Ceci écrira de force la nouvelle modification sur le fichier en lecture seule. Auparavant, cela ne fonctionnait pas car le fichier est en lecture seule.

Arif A.
la source
1
Pourquoi répondez-vous à une question d'il y a 4 ans, en résumant en gros la première réponse? C'est faux quand même: cela ne forcera pas l'écriture d'un fichier en lecture seule. Il essaiera d'écrire, pourrait échouer, puis forcer à quitter sans sauvegarder.
Chris
J'ai essayé avec les commentaires précédents et cela ne fonctionnait pas. J'ai pensé qu'il serait utile de partager ce que j'ai fait. Ce n’est pas important de savoir quand la question a été posée, mais si les solutions sont applicables ou non.
Arif A.
-2

essayez la combinaison de controletZ

samsoty
la source
2
Cela gardera vi en arrière-plan;
Archemar