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?

Jonas
fonte
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.

Sinan Ünür
fonte
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

xenoterracida
fonte
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.

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

tante
fonte
-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.

Arif A.
fonte
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.
-2

tente combinação de controleZ

samsoty
fonte
2
Isso manterá o vi em segundo plano;
Archemar