Je trouve qu'avec vim
, si j'essaie de modifier un fichier avec lequel je n'ai pas d'accès en écriture en tant qu'utilisateur normal, même si j'utilise Sudo
, je ne parviens pas à écrire dessus, même si J'utilise nano
pour éditer le même fichier, cela fonctionne.
Donc par exemple si je le fais:
Sudo vim /var/path/to/file.conf
Je vais mettre ça dans le fichier et ne pas pouvoir l'éditer:
"/var/path/to/file.conf" [readonly]
Mais si je le fais plutôt:
Sudo nano /var/path/to/file.conf
Il sera capable d'écrire dans le fichier, pourquoi cela, pourquoi Sudo
n'accorde-t-il pas un accès en écriture à vim
comme il le fait avec nano
? Est-ce une sorte de bug? Ou est-ce juste quelque chose qui est censé être? Parce que c'est très énervant.
Description: Ubuntu 15.04
Release: 15.04
vim:
Installed: 2:7.4.488-3ubuntu2
Candidate: 2:7.4.488-3ubuntu2
Version table:
*** 2:7.4.488-3ubuntu2 0
500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main AMD64 Packages
100 /var/lib/dpkg/status
C'est le comportement souhaité de vim (et vi).
Lorsque vous modifiez un fichier en lecture seule, toute tentative d’écriture du fichier de la manière habituelle (avec :w
) échoue. Cela vous évitera de modifier accidentellement un fichier en lecture seule que vous ne souhaitez peut-être pas modifier.
Si vous voulez vraiment remplacer les autorisations en lecture seule sur un fichier que vous possédez et écrire vos modifications dans le fichier, vous devez utiliser le :w!
commande donc vim sait que c'est ce que vous voulez.
:q
ne se ferme pas s'il y a des modifications non enregistrées, mais :q!
.Si vous souhaitez écrire des modifications et quitter en une seule commande, vous pouvez utiliser :wq!
ou :x!
.