Como salvar arquivos editados com o vim?

66

Não consigo salvar as alterações após a edição

sudo vi /etc/network/interfaces

Texto antes da edição:

auto lo
iface lo inet ...

Editado para:

auto eth0
iface eth0 inet dhcp

Que combinação ou sequência de teclas devo pressionar para salvar isso?

E
fonte
7
Se você não estiver familiarizado com a edição de arquivos em editores baseados em terminal como viou vim, eu recomendaria o uso de editor gráfico geditpara abri-los. Substitua sudo vipor gksu gedit.
Aditya
5
Ou use sudo nanosua linha de comando também, mas muito mais intuitiva que o vi.
Warren Hill

Respostas:

125

Você provavelmente está no modo de edição / inserção. Você precisa digitar a seguinte sequência:

  1. Esc, para sair do modo de edição e fallback para o modo de comando;
  2. :+ w+ q, Começar com um :(dois pontos), em seguida, pressione we, finalmente, qa w rito e q uit (ou apenas :wa escrever sem parar)
  3. depois pressione Enterpara validar.
Édouard Lopez
fonte
18

Normalmente, pressione ESCe segure Shifte pressione zduas vezes. Assim como você gostaria de digitar duas letras Z maiúsculas no editor de palavras :) Isso salva o documento e fecha o editor.

Sephiroth
fonte
4
Oh cara, shift e double z, qual foi a lógica de design por trás da qual me pergunto: "qual é o comando menos intuitivo que podemos criar?", O ubuntu às vezes me irrita como um louco
S ..
4
@ Sam, eu só queria dizer que o vi não tem nada a ver com o ubuntu. O Ubuntu foi lançado pela primeira vez em 2004, enquanto o vi foi criado por Bill Joy por volta de 1976, inspirado em ed (datado de 1971). Isso significa que os atalhos no vi são anteriores aos de praticamente qualquer outro utilitário ainda mais usado atualmente. Por uma espécie de coincidência, a primeira versão do emacs, que possui atalhos estranhos completamente diferentes, também foi lançada em 1976. Os esforços de padronização vieram muito mais tarde.
usar o seguinte comando
Wow obrigado pela informação @yoniLavi, meus pontos ainda é o mesmo, porém, por isso espero que os esforços de normalização continuar avançando .. :)
S ..
@ Sam, os atalhos de teclado do vi são realmente muito mais padrão do que você pensa; eles são praticamente onipresentes. Praticamente qualquer programa pode ser feito para emular as combinações de teclas do vi. Mesmo as combinações de teclas padrão do Gmail são obviamente (para um usuário do Vim) baseadas nas combinações de teclas do vi.
Curinga
e a tecla esc não funciona? Modo de inserção, apenas parado.
criador
3

Verifique se você possui privilégios administrativos (raiz) para editar o arquivo. use este comando

whoami

Se o resultado não for "raiz", você não deve editar o arquivo.

Para efetuar login como usuário root, use o comando abaixo

sudo su

ou

su

Edite o arquivo

vi /etc/network/interfeces

Após as alterações, salve o arquivo usando

  1. Pressione Escpara alterar o modo
  2. :x para salvar e sair do arquivo

Isso é tudo

Sathish
fonte
0

esta pergunta foi respondida há muito tempo, mas, caso surja novamente nos mecanismos de pesquisa, esse link é uma boa folha de dicas do vim que você pode marcar como favorito se usar muito o vim.

A propósito, você pode usar :wqpara salvar e sair do arquivo (primeiro pressione a tecla esc para sair do modo de inserção ou substituição e, em seguida, pressione os comandos) e use :q!para sair sem salvar.

razieh babaee
fonte