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).

orokusaki
fonte
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
nunopolonia
fonte
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 .

eckes
fonte
+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).

efémero
fonte
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!.

sjas
fonte
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
Fabian Schuh
fonte
Observe que: x gravará apenas arquivos que foram alterados.
Simon Richter
5

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

Marc B
fonte
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.

Hedego
fonte