368 votes

Comment quitter temporairement Vim et y revenir

Comment pourrais-je quitter Vim, sans :q puis revenir en arrière pour poursuivre l'édition ?

678voto

zen Points 4033

Supposer le terminal Vim sur une saveur de *nix :

Pour suspendre votre Vim en cours d'exécution

Ctrl + Z

suspendra le processus et retournera à votre shell

fg

reprendra (apporter à f minerai g round) votre Vim suspendu.

Pour démarrer un nouveau shell

Démarrer un sous-shell en utilisant :

:sh

(tel que configuré par)

:set shell?

o

:!bash

suivi par :

Ctrl + D (ou exit mais pourquoi taper autant ?)

pour tuer le shell et revenir à Vim.

5 votes

ps pour visualiser les processus d'avant-plan unix.stackexchange.com/questions/6115/

1 votes

Que faire si je veux continuer à faire fonctionner mon serveur tout en modifiant mon fichier. Par exemple, disons que je fais nodemon app.js (nodemon rafraîchit le serveur sur les modifications de fichiers pour vous) et ensuite je veux retourner à mon édition vim. Puis-je le faire sans deux fenêtres de terminal distinctes ?

5 votes

O jobs pour visiter les processus de premier plan avec un titre (pour moi) plus lisible. Ensuite, par exemple fg %2 pour sélectionner le second.

122voto

Vous pouvez utiliser :sh pour sortir de votre shell par défaut, puis tapez $ exit à l'invite de l'interpréteur de commandes vous ramènera à Vim.

2 votes

J'aimerais pouvoir upvoter plus fort. C'est exactement la raison pour laquelle :shell existe.

9 votes

Pour être juste, parfois vous voulez le même environnement, pas un environnement de sous-shell. Ainsi, si vous cherchez à modifier les variables d'environnement lorsque vous quittez complètement Vim, vous devez utiliser CTRL-z/:sus.

0 votes

Peut utiliser $ ps pour savoir si nous sommes dans un sous-shell vim avant d'appeler $ exit pour éviter de fermer accidentellement le terminal. Trouvé ce aquí (Je n'ai pas essayé l'indicateur rapide mentionné sur le site web).

38voto

Jay Zeng Points 1100

Vous pouvez passer temporairement en mode shell en :

:! <command>

comme

:! ls

25voto

Alok Singhal Points 33073

Si vous êtes sur un système Unix, Ctrl + Z suspendra Vim et vous donnera un shell.

Type fg pour revenir en arrière. Notez que Vim crée un fichier d'échange pendant l'édition, et suspendre Vim ne supprimerait pas ce fichier (vous ne quittez pas Vim après tout). Sur les terminaux muets, cette méthode était assez standard pour les cycles d'édition-compilation-édit en utilisant vi . Je viens de découvrir que pour moi, gVim minimise sur la frappe Z .

23voto

solotim Points 670

Vous pouvez également le faire en :sus pour tomber dans la coquille et revenir par fg .

Si vous avez fréquemment besoin de faire des allers-retours entre le shell et vim, ce que vous voulez vraiment est probablement d'avoir une seule instance de vim dans le shell, et de l'utiliser pour ouvrir n'importe quel fichier dans l'espace de travail. Si c'est le cas, vérifiez este question. Une fois que vous l'avez configuré correctement, vous pouvez :sus o C-z pour revenir au shell, puis il suffit de v o v <newfile> pour revenir à vim.

Et mon réponse est presque ma routine quotidienne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X