¿Cómo guardo archivos editados con vim?

66

No puedo guardar los cambios después de editar

sudo vi /etc/network/interfaces

Texto antes de editar:

auto lo
iface lo inet ...

Editado para:

auto eth0
iface eth0 inet dhcp

¿Qué combinación de teclas o secuencia debo presionar para guardar esto?

Y
fuente
77
Si no se siente cómodo con la edición de archivos en editores basados ​​en terminales como vio vim, recomendaría usar un editor basado en gráficos geditpara abrirlos. Reemplazar sudo vicon gksu gedit.
Aditya
55
O utilice sudo nanotambién su línea de comando pero mucho más intuitiva que vi.
Warren Hill

Respuestas:

125

Probablemente esté en modo de edición / inserción. Debe escribir la siguiente secuencia:

  1. Esc, para salir del modo de edición y volver al modo de comando;
  2. :+ w+ q, Comenzar con una :(dos puntos) a continuación, pulse wy, finalmente, qa w rito y q uit (o simplemente :wescribir sin dejar de fumar)
  3. luego presione Enterpara validar.
Édouard Lopez
fuente
18

Usualmente presiono ESCy luego sostengo Shifty presiono zdos veces. Al igual que le gustaría escribir dos letras Z mayúsculas en el editor de palabras :) Eso guarda su documento y cierra su editor.

Sephiroth
fuente
44
Oh hombre, de cambio y de doble z, ¿cuál fue la lógica de diseño detrás que me pregunto, "¿Cuál es el comando intuitiva menos que podemos crear", ubuntu veces me molesta como locos
S ..
44
@ Sam, solo quería señalar que vi no tiene nada en particular que ver con ubuntu. Ubuntu se lanzó por primera vez en 2004, mientras que vi Joy fue creado por Bill Joy alrededor de 1976, inspirado en ed (que data de 1971). Esto significa que los accesos directos en vi son anteriores a los de casi cualquier otra utilidad de uso común en la actualidad. En una especie de coincidencia, la primera versión de emacs, que tiene atajos extraños completamente diferentes, también se lanzó en 1976. Los esfuerzos de estandarización llegaron mucho más tarde.
yoniLavi
Wow, gracias por la información @yoniLavi, mis puntos siguen siendo los mismos, así que espero que los esfuerzos de estandarización sigan avanzando .. :)
S ..
@Sam, las combinaciones de teclas vi son en realidad mucho más estándar de lo que piensas; son virtualmente ubicuos. Prácticamente se puede hacer cualquier programa para emular las combinaciones de teclas vi. Incluso las combinaciones de teclas predeterminadas de Gmail están obviamente (para un usuario de Vim) basadas en las combinaciones de teclas vi.
Comodín el
¿Qué pasa con la clave esc no funciona? Modo de inserción, solo se detuvo.
creador
3

Compruebe si tiene privilegios administrativos (raíz) para editar el archivo. usa este comando

whoami

Si el resultado no es "raíz", no se supone que edite el archivo.

Para iniciar sesión como usuario root, use el siguiente comando

sudo su

o

su

Edite el archivo

vi /etc/network/interfeces

Después de los cambios, guarde el archivo usando

  1. Presione Escpara cambiar el modo
  2. :x para guardar y salir del archivo

Eso es todo

Sathish
fuente
0

esta pregunta fue respondida hace mucho tiempo, pero en caso de que vuelva a aparecer en los motores de búsqueda, este enlace es una buena hoja de trucos de vim que es posible que desee marcar como favorito si usa mucho vim.

Por cierto, puede usar :wqpara guardar y salir del archivo (primero debe presionar la tecla esc para salir del modo insertar o reemplazar y luego presionar comandos) y usar :q!para salir sin guardar.

razieh babaee
fuente