Sair do vim mais rapidamente

111

Eu uso o Vim principalmente para edições rápidas, em vez de longas sessões de trabalho. Nesse sentido, eu acho a seqüência do teclado para parar especialmente trabalhosa: Esc , Deslocamento + ; , w , q , Digite .

Como encerrar o Vim (possivelmente salvando o documento) com o mínimo de pressionamentos de tecla? Especialmente no modo Insert.

    
por vemv 01.10.2013 / 10:55

9 respostas

138

Shift z z no modo de comando salva o arquivo e sai.

    
por 01.10.2013 / 10:57
39

ZZ no modo normal salva o arquivo atual se modificado e sai ou fecha a janela / guia atual (o mesmo que :x mas não :wq que grava o arquivo mesmo que ele não tenha sido modificado). / p>

Para sair incondicionalmente depois de ter escrito todos os arquivos modificados em todas as janelas, abas e buffers ocultos, você precisa de :xa (ainda não sairá se alguns arquivos não puderem ser gravados por uma razão ou outra)

Para sair incondicionalmente sem alterar nada: ZQ (o mesmo que :q! ).

    
por 01.10.2013 / 14:59
33

: x é uma chave menor que : w q

    
por 01.10.2013 / 13:13
19

Crie um mapeamento personalizado para tarefas usadas com freqüência. Se você encerrar o vim com frequência, crie um mapeamento com poucos toques de tecla, por exemplo,

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

Se o <leader> estiver definido como vírgula usando let mapleader = "," , pressionar a vírgula duas vezes é uma maneira rápida de encerrar o vim e salvar suas alterações. Se você quiser salvar mais um toque de tecla quando estiver no modo de inserção, crie também um mapeamento de modo de inserção correspondente:

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

Mas cuidado, isso pode acidentalmente ser muito vim quando você acertar o <leader duas vezes.

    
por 01.10.2013 / 10:58
12

Que tal apenas Q para 'Quit'?

Isso exigirá apenas um pressionamento de tecla (isto é, Shift e Q ). É também uma combinação de teclas que raramente acerto por acidente.

Por padrão, o vim mapeia Q para switch to "Ex" mode . Se você achar o modo "Ex" tão inútil (ou chato) quanto eu, você não perderá a função padrão.

Aqui está o que eu tenho no meu arquivo .vimrc :

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

Se você tiver buffers não salvos, ele será avisado antes de sair.

    
por 02.10.2013 / 03:33
12

Eu uso essa combinação de três como meus atalhos mágicos.

Ctrl + s para salvar,

ctrl + d para salvar e sair,

ctrl + q para sair do descarte de alterações.

1º. Coloque isso no seu ~ / .bashrc

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

2º. Coloque isso no seu ~ / .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>

Reinicie o vim e tenha dias mais produtivos!

    
por 09.11.2015 / 08:27
6

Aqui está uma folha de dicas para o 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.

Mais alguns ::

Fechando e salvando arquivos

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.
    
por 02.10.2013 / 10:08
2

Minha solução simples e conveniente para sair e salvar do vim - é:

Ctrl + atalho X .

Adicione este código ao arquivo .vimrc :

"Fast quit and save from normal and insert mode
:map <C-X> <ESC>:x<CR>
:imap <C-X> <ESC>:x<CR>
    
por 24.02.2015 / 11:45
2

Tente

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

Se você usar fFtT, isso levará algum tempo para se acostumar, mas agora é só ; x para salvar, se necessário, ; q para não salvar. Além disso, tudo fica mais rápido também.

    
por 24.02.2015 / 13:26