web-dev-qa-db-fra.com

Quittez vim plus rapidement

J'utilise Vim principalement pour des modifications rapides plutôt que pour de longues sessions de travail. En ce sens, je trouve la séquence du clavier pour quitter particulièrement laborieuse: EscShift + ;wqEnter.

Comment quitter Vim (éventuellement en sauvegardant le document) avec le moins de touches? Surtout depuis le mode Insertion.

130
vemv

Shiftzz en mode commande enregistre le fichier et quitte.

164
jasonwryan

ZZ en mode normal enregistre le fichier actuel s'il est modifié et ferme ou ferme la fenêtre/l'onglet en cours (identique à :x mais non :wq qui écrit le fichier même s'il n'a pas été modifié).

Pour quitter sans condition après avoir écrit tous les fichiers modifiés dans toutes les fenêtres, onglets et tampons cachés, vous avez besoin de :xa (il ne se fermera toujours pas si certains fichiers ne peuvent pas être écrits pour une raison ou une autre)

Pour quitter sans condition sans rien changer: ZQ (identique à :q!).

44

:x est une clé de moins que :wq

33
Tomasz Myrta

Créez un mappage personnalisé pour les tâches fréquemment utilisées. Si vous quittez souvent Vim, créez un mappage avec quelques touches, par ex.

nnoremap <leader><leader> :xa<cr>

Si la <leader> est défini sur virgule à l'aide de let mapleader = "," appuyer deux fois sur une virgule est un moyen rapide de quitter vim et d'enregistrer vos modifications. Si vous souhaitez enregistrer un coup de clé supplémentaire lorsque vous êtes en mode insertion, créez également un mappage de mode insertion correspondant:

inoremap <leader><leader> <esc>:xa<cr>

Mais méfiez-vous, cela pourrait accidentellement assez vim lorsque vous appuyez sur <leader deux fois.

20
Marco

Utilisez-le pour faire de la magie. Deux touches seulement!

Ctrl + s sauver,

ctrl + d pour sauvegarder et quitter,

ctrl + q pour quitter la suppression des modifications.

1er. Mettez ceci dans votre ~/.bashrc

bind -r '\C-s'
stty -ixon

2e. Placez ceci dans votre ~/.vimrc

inoremap <C-s> <esc>:w<cr>                 " save files
nnoremap <C-s> :w<cr>
inoremap <C-d> <esc>:wq!<cr>               " save and exit
nnoremap <C-d> :wq!<cr>
inoremap <C-q> <esc>:qa!<cr>               " quit discarding changes
nnoremap <C-q> :qa!<cr>

3e. Redémarrez vim et obtenez des journées plus productives!

18
Brain90

Que diriez-vous juste Q pour 'Quitter'?

Cela ne nécessitera qu'une seule touche décalée (c.-à-d. Shift et Q). C'est aussi une combinaison de touches que je frappe rarement par accident.

Par défaut, vim mappe Q à switch to "Ex" mode. Si vous trouvez le mode "Ex" aussi inutile (ou ennuyeux) que moi, vous ne manquerez pas du tout sa fonction par défaut.

Voici ce que j'ai dans mon .vimrc fichier:

" allow quit via single keypress (Q)
map Q :qa<CR>

Si vous avez des tampons non enregistrés, il vous demandera avant de quitter.

16
Lambart

Voici une feuille de triche pour VIM

Cheat-sheet-for-VIM

To quit the vi editor without saving any changes you've made:

If you are currently in insert or append mode, press Esc. 

Press  :  (colon). The cursor should reappear at the lower left corner of the screen beside a colon Prompt. 

Enter the following:
  q!
This will quit the editor, and all changes you have made to the document will be lost.

Un peu plus ::

Fermeture et enregistrement de fichiers

When you edit a file in vi, you are actually editing a copy of the file rather than the original. The following sections describe methods you might use when closing a file, quitting vi, or both.
Quitting and Saving a File

The command ZZ (notice that it is in uppercase) will allow you to quit vi and save the edits made to a file. You will then return to a Unix Prompt. Note that you can also use the following commands:

:w  to save your file but not quit vi (this is good to do periodically in
    case of machine crash!).
:q  to quit if you haven't made any edits.
:wq to quit and save edits (basically the same as ZZ).
Quitting without Saving Edits

Sometimes, when you create a mess (when you first start using vi this is easy to do!) you may wish to erase all edits made to the file and either start over or quit. To do this, you can choose from the following two commands:

:e! reads the original file back in so that you can start over.
:q! wipes out all edits and allows you to exit from vi.
7
vkulkarni

Ma solution simple et pratique pour quitter et enregistrer depuis vim - est:

Ctrl + X raccourci.

Jut ajouter ce code à .vimrc fichier:

"Fast quit and save from normal and insert mode
:map <C-X> <ESC>:x<CR>
:imap <C-X> <ESC>:x<CR>
3
skywinder

Essayer

nno : ;
nno ; :
vno : ;
vno ; :

Si vous utilisez fFtT, cela prendra un certain temps pour s'y habituer, mais maintenant, arrêter est juste ;x pour économiser si besoin, ;q pour ne pas enregistrer. De plus, tout le reste devient plus rapide aussi.

2
jthill