Vim para Windows - O que digito para salvar e sair de um arquivo?


265

Usando o Windows XP, digitei acidentalmente em git commit -avez de git commit -am "My commit message", e agora estou vendo meu prompt do CMD preenchido com a versão do arquivo da minha mensagem de confirmação ("Digite a mensagem de confirmação para o seu ..."). Adicionei minha mensagem ao topo, mas agora não consigo descobrir como salvar e sair. Tentei pressionar Ctrl+ W+ Q, mas não faz nada, mas adicione ^onde está o cursor.

Eu também tentei Escprimeiro e depois Ctrl+ W+ Q, mas diz No write since last change (add ! to override).


13
Oh, é um alívio que eu não sou o único que ficou preso nisso.
Tomáš Zato - Restabelecer Monica

1
Possível duplicata de Como sair do editor Vim?
Peter Mortensen

Respostas:


515

Pressione ESCpara verificar se você está fora do modo de edição e digite:

:wq

6
@ User789 para algo específico ou em geral? Se você está procurando comandos genéricos tentar este site: viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
nunopolonia

1
Eles realmente poderiam ter adicionado isso como um comentário, então milhares de nós não foram enviados para fora do terminal por três caracteres !! Mas eu acho que nunopolonia está contente eles não fizeram =)
Casey Murray

Lembre-se de que, se você tiver vários layouts de teclado e esquecer que não está no layout do teclado em inglês , poderá ficar preso e pensar que isso não funciona. Espero ter ajudado alguém a não perder tempo como eu fiz.
Djuka

3
Graças a Deus eu encontrei isso. Sério, não faria mal apenas adicionar uma única direção à tela de mensagem de confirmação de entrada?
voidzero

52

Em vez de dizer como você pode executar um determinado comando ( Esc:wq), posso fornecer dois links que podem ajudá-lo com o VIM:

No entanto, a melhor maneira de aprender o Vim não é apenas usá-lo para confirmações do Git, mas como um editor regular para o seu trabalho diário.

Se você não vai mudar para o Vim, não faz sentido manter seus comandos em mente. Nesse caso, vá e configure seu editor favorito para usar com o Git .


+1 para esta resposta realmente útil. Eu prefiro o Emacs e, graças ao seu link, não preciso procurar no Google uma solução.
Keks Dose

+1 para a explicação sobre VIM e como configurar o meu próprio editor
EdmundYeung99

Ensinar a pescar é melhor do que dar a ele um peixe para comer. Obrigado.
matriz

Melhor maneira de responder à pergunta que deveria ter sido feita. Thx
moemen.ahmed

O link HTML está quebrado.
Naxos84

35

Escpara garantir que você saia do modo de inserção, :wq(dois pontos wq) ou ZZ(shift-Z shift-Z).


2
Alguém mais percebeu o quanto isso Shift-Z Shift-Zé mais fácil do que o outro? E, a propósito, algo fica menos intuitivo? Ah, sim, eu sou cidadão do Windows!
Ifedi Okonkwo

30
  • Pressione iou apara entrar no modo de inserção e digite a mensagem de sua escolha

  • Pressione ESCvárias vezes para sair do modo de inserção ou qualquer outro modo que você possa ter encontrado acidentalmente

    • para salvar :wq, :xouZZ

    • sair sem salvar :q!ouZQ

Para recarregar um arquivo e desfazer todas as alterações feitas ...:

Pressione várias vezes ESCe, em seguida, digite :e!.


10

Uma maneira mais rápida de

  • Salve 
  • e sair

seria

:x

Se você abriu vários arquivos, pode ser necessário fazer uma

:xa

Observe que: x gravará apenas arquivos que foram alterados.
Simon Richter

5

:q! forçará uma saída incondicional de não salvar


6
Isso deve ser um comentário. É altamente relevante, mas não responde à pergunta. Pelo contrário, fala de um comando que faz o oposto do que é solicitado. Relevante, mas não uma resposta
Rune FS

0

Usar:

:wq!

O ponto de exclamação é usado para substituir o modo somente leitura.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.