Come posso salvare i file modificati con vim?


66

Non riesco a salvare le modifiche dopo la modifica

sudo vi /etc/network/interfaces

Testo prima della modifica:

auto lo
iface lo inet ...

A cura di:

auto eth0
iface eth0 inet dhcp

Quale combinazione di tasti o sequenza devo premere per salvarlo?


7
Se non hai dimestichezza con la modifica dei file in editor basati su terminali come vio vim, ti consiglio di utilizzare l'editor basato su grafici come geditaprirli. Sostituisci sudo vicon gksu gedit.
Aditya,

5
Oppure usa sudo nanoanche la sua riga di comando ma molto più intuitiva di vi.
Warren Hill,

Risposte:


125

Probabilmente sei in modalità di modifica / inserimento. Devi digitare la seguente sequenza:

  1. Esc, per uscire dalla modalità modifica e tornare alla modalità comando;
  2. :+ w+ q, Iniziare con un :(due punti), quindi premere we, infine, qa w rite e q uit (o semplicemente :wdi scrivere senza uscire)
  3. quindi premere Enterper confermare.

18

Di solito premo, ESCquindi tengo premuto Shifte premo zdue volte. Proprio come si desidera digitare due lettere maiuscole Z nell'editor di parole :) Ciò consente di salvare il documento e chiudere l'editor.


4
Oh amico, maiusc e doppio z, qual era la logica progettuale che mi domando, "qual è il comando meno intuitivo che possiamo creare?", Ubuntu a volte mi fa incazzare come un matto
S ..

4
@Sam, volevo solo dire che vi non ha nulla a che fare con Ubuntu. Ubuntu è stato rilasciato per la prima volta nel 2004, mentre vi è stato creato da Bill Joy intorno al 1976, ispirato a ed (risalente al 1971). Ciò significa che le scorciatoie in vi precedono quelle di quasi tutte le altre utility ancora oggi comunemente utilizzate. In una sorta di coincidenza, anche la prima versione di emacs, che ha strane scorciatoie completamente diverse, fu rilasciata nel 1976. Gli sforzi di standardizzazione arrivarono molto più tardi.
yoniLavi,

Wow, grazie per l'informazione @yoniLavi, il mio punto è sempre lo stesso, quindi spero che gli sforzi di standardizzazione continuino ad avanzare .. :)
S ..

@Sam, le combinazioni di tasti vi sono in realtà molto più standard di quanto pensi; sono praticamente onnipresenti. Praticamente qualsiasi programma può essere fatto per emulare le combinazioni di tasti vi. Anche le combinazioni di tasti predefinite di Gmail sono ovviamente (per un utente Vim) basate sulle combinazioni di tasti vi.
Wildcard il

che dire di chiave esc non funziona? Modalità inserimento, appena interrotta.
creatore

3

Verifica se disponi dei privilegi di amministratore (root) per modificare il file. usa questo comando

whoami

Se il risultato non è "root", non è necessario modificare il file.

Per accedere come utente root, utilizzare il comando seguente

sudo su

o

su

Modifica il file,

vi /etc/network/interfeces

Dopo le modifiche, salvare il file utilizzando

  1. Premere Escper cambiare la modalità
  2. :x per salvare ed uscire dal file

È tutto


0

a questa domanda è stata data risposta molto tempo fa, ma nel caso si ripresenti nei motori di ricerca, questo link è un bel cheatsheet di Vim che potresti voler aggiungere ai segnalibri se usi vim molto.

A proposito, puoi usare :wqper salvare ed uscire dal file (dovresti prima premere il tasto esc per uscire dalla modalità di inserimento o sostituzione e poi premere i comandi) e usare :q!per uscire senza salvare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.