Como fechar o vim a partir da linha de comando?

45

Eu sei que isso é mais uma questão geral de linux, mas não é. Então, quando eu entro em um programa como vim no prompt de comando, ele exibe todo o texto no arquivo e eu posso editá-lo etc. Mas não consigo descobrir como fechar ou salvar o arquivo e voltar ao prompt de comando sem matar o processo. Qualquer ajuda é apreciada.

    
por Letseatlunch 02.02.2011 / 04:24

6 respostas

64

No vim existem 3 modos diferentes:

  • Inserir - permite digitar e editar normalmente
  • Visual - usado para selecionar copiar / colar, etc.
  • Normal - usado para comandos

Para voltar ao modo Normal, você sempre pode pressionar esc .

Quando você estiver no modo Normal, pressione : para iniciar seu comando (você verá que aparece no canto inferior esquerdo). Os seguintes comandos estão relacionados ao quiting do vim:

  • :q - sair se nenhuma alteração foi feita
  • :q! - saia e destrua as alterações feitas
  • :wq - escreve alterações (salve) e sai
  • :x - semelhante a :wq , apenas grave o arquivo se as alterações forem feitas e, em seguida, saia
por jondavidjohn 02.02.2011 / 04:34
14

Primeiro, pressione a tecla escape . 1

Em seguida, basta digitar ZZ (são dois Z's maiúsculos consecutivos).
Ou digite :x . Você salvará todas as edições e sairá.
Você também pode usar :wq

Como alternativa, você pode digitar :q (a.k.a, " sair, por favor "). Isso sairá somente se você não tiver feito edições.

Se você tiver feito edições e quiser descartá-las e sair, digite :q! (a.k.a " sair, porra !")

1 : Isso garante que você esteja no modo "comando". O que você deseja para digitar comandos, como aqueles necessários para sair.

    
por belacqua 02.02.2011 / 07:24
4

Para nossa grande inconveniência, não há um método geral para sair de programas de linha de comando, como o botão "X" para programas gráficos.

Muitos programas de linha de comando seguem o tema de usar Q (por exemplo, man e top ) ou Ctrl + C (por exemplo, ping e watch ) para sair, mas isso varia consideravelmente, especialmente entre os editores de texto:

  • O Vim em particular usa a combinação obscura de :q! then Enter , geralmente precedida por várias impressoras de Esc para uma boa medida.
  • Emacs , outra preciosidade, prefere Ctrl + X seguido por Ctrl + C .

Editores como este são armadilhas para os inexperientes. Minha preferência pessoal e recomendação é, quando forçada a editar texto na linha de comando, usar as Próprias mais autoexplicativas. Editor (JOE) .

    
por ændrük 02.02.2011 / 04:58
3

Juntamente com a resposta de jondavidjohn, aqui estão dois links que têm informações indispensáveis sobre o uso do vim.

  1. Este é um gráfico do teclado que mostra o que cada tecla faz dependendo se você está no modo de edição, no modo de comando ou no modo visual:

    link

  2. Este é o melhor tutorial sobre o vim que já trabalhei. É conversacional e fácil de entender, o que é devido ao formato IRC / mensagens instantâneas.

    link

Finalmente, há alguns como aendruk que simplesmente não querem usar editores de texto de linha de comando avançados. O Vim, em particular, tem uma curva de aprendizado íngreme e, na verdade, precisa de algum esforço inicial para se acostumar. Mas é muito rápido e muito poderoso. Se você tem interesse no Linux além do uso básico de desktops, vale a pena investir tempo aprendendo um editor de texto de linha de comando decente como o Vim ou o Emacs. Se você só precisa editar algum texto e não se importar muito além disso, tente digitar gedit filename.txt . Ele irá lançar um programa gráfico familiar, muito parecido com o Bloco de Notas do Windows.

    
por djeikyb 02.02.2011 / 05:15
1

se Esc :q! não funcionar,

tente primeiro Ctrl + q (para desbloquear a tela que foi bloqueada com Ctrl + s )

tente novamente Esc :q! (para sair sem salvar) ou Esc :wq (para salvar e sair)

    
por Gael P 26.05.2014 / 18:44
0

Quer sair sem salvar:

  1. Pressione ESC
  2. Atinge Z Q

Saia com salvar:

  1. Pressione ESC
  2. Atinge Z Z
por Zoltan 10.04.2014 / 02:37