Comment sauvegarder des fichiers édités avec vim?


66

Je ne peux pas enregistrer les modifications après la modification

sudo vi /etc/network/interfaces

Texte avant édition:

auto lo
iface lo inet ...

Édité à:

auto eth0
iface eth0 inet dhcp

Quelle combinaison de touches ou quelle séquence dois-je appuyer pour enregistrer ceci?


7
Si vous n'êtes pas à l'aise avec l'édition de fichiers dans des éditeurs basés sur des terminaux tels que viou vim, je vous recommanderais d'utiliser un éditeur graphique geditpour les ouvrir. Remplacer sudo vipar gksu gedit.
Aditya

5
Ou utilisez sudo nanoaussi sa ligne de commande mais beaucoup plus intuitive que vi.
Warren Hill

Réponses:


125

Vous êtes probablement en mode édition / insertion. Vous devez taper la séquence suivante:

  1. Escpour quitter le mode édition et revenir en mode commande;
  2. :+ w+ q, Commencer par un :(deux points) puis appuyez sur wet enfin qà w rite et q uit (ou tout simplement :wd'écrire sans quitter)
  3. puis appuyez sur Enterpour valider.

18

J'ai l'habitude d'appuyer ESCpuis de maintenir Shiftet d'appuyer zdeux fois. Tout comme vous voudriez taper deux lettres majuscules Z dans l'éditeur de mots :) Cela enregistre votre document et ferme votre éditeur.


4
Oh man, shift et double z, quelle était la logique de conception derrière laquelle je me demandais, "quelle est la commande la moins intuitive que nous puissions créer?", Ubuntu me fait parfois chier comme un fou
S ..

4
@Sam, je voulais juste dire que vi n'a rien de particulier à faire avec ubuntu. Ubuntu a été lancé pour la première fois en 2004, tandis que vi a été créé par Bill Joy vers 1976, inspiré par ed (datant de 1971). Cela signifie que les raccourcis de vi sont antérieurs à ceux de presque tous les autres utilitaires encore couramment utilisés de nos jours. Une sorte de coïncidence: la première version d’emacs, qui propose des raccourcis étranges complètement différents, a également été publiée en 1976. Les efforts de normalisation ont été déployés beaucoup plus tard.
yoniLavi

Wow merci pour l'info @yoniLavi, mes points sont toujours les mêmes, j'espère donc que les efforts de normalisation continuent d'avancer .. :)
S ..

@Sam, vi Les combinaisons de touches sont en réalité beaucoup plus standard que vous ne le pensez; ils sont pratiquement omniprésents. Pratiquement n'importe quel programme peut être conçu pour émuler les liaisons de clé vi. Même les raccourcis clavier Gmail par défaut sont évidemment (pour un utilisateur de Vim) basés sur des raccourcis clavier vi.
Wildcard

Qu'en est-il de la touche esc ne fonctionne pas? Mode d'insertion, juste arrêté.
créateur

3

Vérifiez si vous disposez des privilèges d'administrateur (root) pour éditer le fichier. utiliser cette commande

whoami

Si le résultat n'est pas "root", vous n'êtes pas censé éditer le fichier.

Pour vous connecter en tant qu'utilisateur root, utilisez la commande ci-dessous

sudo su

ou

su

Éditer le fichier,

vi /etc/network/interfeces

Après les modifications, enregistrez le fichier en utilisant

  1. Appuyez sur Escpour changer le mode
  2. :x pour sauvegarder et quitter le fichier

C'est tout


0

cette question a reçu une réponse il y a longtemps, mais au cas où elle reviendrait dans les moteurs de recherche, ce lien est une belle feuille de triche vim que vous voudrez peut-être mettre en favori si vous utilisez beaucoup vim.

En passant, vous pouvez utiliser :wqpour enregistrer et quitter le fichier (vous devez d’abord appuyer sur la touche échap pour quitter le mode insertion ou le mode de remplacement, puis appuyer sur des commandes), puis utiliser :q!pour quitter sans enregistrer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.