Comment pourrais-je quitter Vim, pas: q, puis revenir en arrière pour continuer l'édition?
En supposant que vim terminal sur un parfum de * nix:
Ctrl+Z
va suspendre le processus et revenir à votre shell
fg
reprendra (apportera à f ore g rond) votre vim suspendu
démarrer un sous-shell en utilisant:
:sh
(tel que configuré par)
:set shell?
:!bash
suivi par:
Ctrl+D (ou exit
, mais pourquoi taper autant?)
tuer le shell et retourner à vim
Vous pouvez utiliser :sh
pour quitter votre shell par défaut, puis taper $ exit
à l'invite du shell pour revenir à vim.
Vous pouvez basculer temporairement en mode Shell en:
:! <command>
tel que
:! ls
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
.
Vous pouvez également le faire par :sus
pour tomber dans Shell et revenir par fg
.
Edit: désolé, sa faute de frappe.
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:
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 .
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.
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>
il suffit de mettre fg
et de revenir à votre dernier programme suspendu
Si vous utilisez Neovim, vous pouvez effectuer les opérations suivantes:
:terminal
commande pour faire apparaître une fenêtre de terminal.exit
pour tuer le processus terminal