Je sais que c’est plus une question linux générale mais w/e. Ainsi, lorsque je saisis un programme tel que vim dans l'invite de commande, il affiche tout le texte du fichier et je peux le modifier, etc. Mais je ne vois pas comment fermer ou enregistrer le fichier et revenir à l'invite de commande sans tuer. le processus. Toute aide est appréciée.
Dans vim, il existe 3 modes différents:
Pour revenir au mode normal, vous pouvez toujours appuyer sur esc.
Une fois que vous êtes en mode normal, appuyez sur :
pour commencer votre commande (elle apparaît en bas à gauche). Les commandes suivantes sont liées à la fermeture de vim:
:q
- quitter si aucune modification n'a été apportée:q!
- quitte et détruit toutes les modifications apportées:wq
- écrit les modifications (sauvegarde) et quitte:x
- similaire à :wq
, n'écrivez le fichier que si des modifications ont été apportées, puis quittezTout d'abord, appuyez sur le escape clé.1
Ensuite, tapez simplement ZZ
(deux z majuscules consécutifs).
Ou tapez :x
. L'un ou l'autre enregistrera toutes les modifications et partira.
Vous pouvez également utiliser :wq
Alternativement, vous pouvez taper :q
(a.k.a, "quitter, s'il vous plaît") Cela ne se fermera que si vous n'avez pas apporté de modifications.
Si vous avez apporté des modifications et que vous souhaitez les supprimer et les quitter, saisissez :q!
(a.k.a "quittez, bon sang!")
1 : Cela garantit que vous êtes en mode "commande". Ce que vous voulez pour les commandes de frappe, comme celles nécessaires pour quitter.
À notre grand désagrément, il n’existe pas de méthode générale pour quitter les programmes en ligne de commande, comme le bouton "X" pour les programmes graphiques.
De nombreux programmes en ligne de commande ont pour thème l'utilisation de Q (par exemple, man
et top
) ou Ctrl+C (par exemple, ping
et watch
) pour quitter, mais cela varie considérablement, en particulier parmi les éditeurs de texte:
:q!
alors Enter, généralement précédé de plusieurs presses de Esc pour faire bonne mesure.Les rédacteurs comme celui-ci sont des pièges pour les inexpérimentés. Ma préférence personnelle et ma recommandation sont les suivantes: lorsque je suis obligé de modifier du texte sur la ligne de commande, utilisez plutôt le plus explicite Joe's Own Editor (JOE) .
Outre la réponse de jondavidjohn, voici deux liens vers des informations indispensables sur l'utilisation de vim.
Ceci est un graphique de clavier qui vous montre ce que chaque touche fait selon que vous soyez en mode édition, en mode commande ou en mode visuel:
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
C’est le meilleur tutoriel vim que j’ai jamais travaillé. Il est conversationnel et facile à comprendre, ce qui est dû au format IRC/messagerie instantanée.
Enfin, certains, comme aendruk, ne souhaitent tout simplement pas utiliser les éditeurs de texte en ligne de commande avancés. Vim, en particulier, a une courbe d'apprentissage abrupte et demande un effort initial pour s'y habituer. Mais c'est très rapide et très puissant. Si vous êtes intéressé par Linux au-delà de l’utilisation de base du bureau, cela vaut la peine de passer du temps à apprendre un éditeur de texte en ligne de commande décent tel que Vim ou Emacs. Si vous avez juste besoin de modifier du texte sans trop vous soucier, essayez plutôt de saisir gedit filename.txt
. Il lancera un programme graphique familier, un peu comme le Bloc-notes de Windows.
si Esc :q!
ne fonctionne pas,
essayez d'abord Ctrl+q (pour déverrouiller l'écran qui était verrouillé avec Ctrl+s)
puis réessayez Esc :q!
(quitter sans sauvegarder) ou Esc :wq
(pour sauvegarder et quitter)
Vous voulez sortir sans sauvegarder:
Quitter avec save: