web-dev-qa-db-fra.com

Comment quitter temporairement vim et revenir en arrière

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

284
Ricky

En supposant que vim terminal sur un parfum de * nix:

Pour suspendre votre vim en cours d'exécution

Ctrl+Z

va suspendre le processus et revenir à votre shell

fg

reprendra (apportera à f ore g rond) votre vim suspendu

Pour démarrer un nouveau shell

démarrer un sous-shell en utilisant:

:sh

(tel que configuré par)

:set shell?

ou

:!bash

suivi par:

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

tuer le shell et retourner à vim

536
zen

Vous pouvez utiliser :sh pour quitter votre shell par défaut, puis taper $ exit à l'invite du shell pour revenir à vim.

103

Vous pouvez basculer temporairement en mode Shell en:

:! <command>

tel que

:! ls
32
Jay Zeng

Si vous êtes sur un système unix, ctrl-Z suspendra vim et vous donnera un shell. Tapez fg pour revenir en arrière. Notez que vim crée un fichier d'échange lors de l'édition et que 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-édition utilisant vi. Je viens de découvrir que pour moi, gvim minimise la saisie en ctrl-Z.

12
Alok Singhal

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

Edit: désolé, sa faute de frappe.

11
solotim

Il existe plusieurs façons de quitter vim et de tout conserver à votre retour. Vim lui-même contient une très bonne documentation expliquant les différentes manières de le faire. Vous pouvez utiliser la commande suivante dans vim pour accéder à la page d’aide appropriée: :help usr_21

Pour vous donner un bref résumé, voici les différentes méthodes pour quitter et revenir avec votre session intacte:

  1. Suspendre et reprendre - Vous ne quittez pas vim avec cela, vous masquez simplement votre session en arrière-plan jusqu'à ce que vous en ayez besoin. Si vous réinitialisez votre ordinateur ou émettez une commande kill pour vim, vous perdrez votre session. C'est utile lorsque vous souhaitez basculer temporairement vers une autre tâche, mais si c'est le cas, vous pouvez envisager d'utiliser plutôt tilitaire GNU Screen .

  2. Sessions - C’est le véritable moyen de sauvegarder votre session entre les instances de vim. Même si vous quittez vraiment vim, votre session sera là pour vous à votre retour. C'est probablement ce que vous recherchez.

5
Swiss

Pour étendre la réponse zen, vous pouvez ajouter la ligne suivante dans votre ~/.vimrc pour permettre le basculement rapide entre bash et vim:

noremap <C-d> :sh<cr>
4
xaa

il suffit de mettre fg et de revenir à votre dernier programme suspendu

3
Alex Falcucci

Si vous utilisez Neovim, vous pouvez effectuer les opérations suivantes:

  • :terminal commande pour faire apparaître une fenêtre de terminal.
  • Faire votre truc terminal
  • Tapez exit pour tuer le processus terminal
  • appuyez sur n'importe quelle touche pour revenir à nvim
2
loeschg