Como faço para sair do Vi?


81

Comecei o Vi na minha máquina Ubuntu. No entanto, sou novo no Vi e agora não consigo sair. Eu vejo o editor e posso escrever texto, na linha inferior há um rótulo "gravação".

Como faço para sair do Vi?


1
A "gravação", a propósito, significava que você estava gravando uma macro. Não que isso importe mais.
— quer

4
Essa pergunta traz de volta memórias "divertidas". Estou tão feliz por ter superado esse sentimento, no entanto.
— quer

Como podemos voltar ao modo de inserção no modo somente leitura no Linux (Ubuntu no VMware instalado) VI Editor?

2
Sair do Vim se tornou um meme agora.
— noɥʇʎԀʎzɐɹƆ

2
Para aqueles que ainda não viram essa piada: twitter.com/iamdevloper/statuses/435555976687923200
— Federico Poloni -

Respostas:


91

O vim é um editor modal . Pressione a ESCtecla para entrar no modo Normal (comando), digite :qe pressione Enter.

Para sair sem salvar as alterações, digite :q!e pressione Enter.

Consulte também Como sair na documentação do Vim.


9
Graças: Eu tentei que os comandos, mas depois de executá-los I foi solicitado com: E37: No write since last change (add ! to override). Não tenho nada para salvar.
— Jonas

12
Use :wqse você quiser salvar o que editou e sair. :q!se você quiser sair e deixar suas alterações para trás.
— Steven D

Ou, se você escreveu algo sobre o qual deseja fazer uma cópia :w newFileName.txt, resolva o problema somente leitura fora do vi ou vim .
— quer

5
sair :q; forçar o encerramento :q!; encerre e salve :wqou:x
— fromnaboo 6/10/12

2
@ Jonas, da próxima vez que tentar :qall!, suspeito que você tenha aberto mais arquivos em um único buffer.
— Alan Dong

11

Eu uso ctrl+ [para gerar a escsequência, isso me impede de mover meus dedos da linha inicial (lembre-se de que a escchave estava em um lugar diferente quando vifoi inventada. :wqGravará todos os arquivos sem necessidade. Sugiro usar ZZ(que é shift+ zduas vezes ), que gravará apenas se uma alteração tiver sido feita no arquivo.Também :xaé o mesmo que, ZZexceto se você tiver mais de um arquivo aberto na instância do editor (como as guias do vim). Observação: não tenho certeza de que tudo isso é possível. 100% compatível com todos os vi clones, mas eu sei que funciona com o vim


1
Obrigado. O ZZcomando parece ser útil. Eu posso entender o ponto, Ctrl+[mas estou usando um layout de teclado sueco e tenho que pressionar AltGr+8para obter, [para que isso seja Ctrl+AltGr+8para mim :(
— Jonas

Observe também que ZQé efetivamente o mesmo que :q!. No entanto, isso não é padrão. ZZ, por outro lado, é especificado no POSIX .
— Curinga

4

A saída do vi é outra maneira Esc :x.

A opção é usada para salvar e sair ao mesmo tempo.


2
Observe que ZZ, assim , :xo arquivo será gravado apenas se o conteúdo for alterado, diferentemente :wq.
— Jlliagre

2

Como Sinan disse, o vim é um editor modal. Se você quiser saber se isso funciona para você, talvez deva investir algum tempo e executar, o vimtutorque é uma maneira interativa de aprender o vim. (Ele também aborda como sair, o que os modos significam e o que você pode fazer em cada modo).


-2

Após a modificação, pressione ESCe o comando fornecido :wq!.

Isso gravará com força a nova modificação no arquivo somente leitura. Anteriormente, não estava funcionando porque o arquivo é somente leitura.


1
Por que você está respondendo a uma pergunta de 4 anos atrás, com basicamente uma reformulação da resposta principal? De qualquer maneira, está errado: isso não forçará a gravação de um arquivo somente leitura - ele tentará escrever, pode falhar e forçará o encerramento sem salvar.
— 18716 Chris

Eu tentei com os comentários anteriores e não estava funcionando. Eu pensei que seria útil compartilhar o que eu fiz. Não é importante quando a pergunta foi publicada, mas se as soluções são aplicáveis ​​ou não.
— Arif A.

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.