Aider à la compréhension modifiable dans Vim

Lors d'une mise à niveau du operating system (Linux), Vim ou une partie de celui-ci a également été mis à jour.

Maintenant, il arrive que lorsque je sauvegarde un file (le file n'est pas sauvegardé), j'obtiens cette erreur:

E21: Impossible de modifier, 'modifiable' est désactivé

Je l'ai fait :help E21 et le manuel dit:

  {not in Vi} *E21* When off the buffer contents cannot be changed. The 'fileformat' and 'fileencoding' options also can't be changed. Can be reset with the |-M| command line argument. 

Ce n'est pas clair pour moi. J'utilise et démarre l'éditeur de la façon habituelle, rien n'est changé. Le stream de travail est le même. J'ouvre des windows différentes avec CTLR-W N , puis charge et édite les files et bascule entre les windows, etc.

Je voudrais savoir comment désactiver ce comportement et sur les effets secondaires.

Vous pouvez utiliser :verbose set modifiable? pour savoir si un plugin est en train de définir l'option. Si l'option a été modifiée par un plugin, elle affichera Last set from /path/to/plugin/file (en plus de montrer la valeur).

Peut-être que vous utilisez le plugin Netrw. Il est fourni avec Vim et gère l'édition des directorys locaux (list des contenus, sélection des files à afficher / modifier) ​​et l'access aux files / directorys distants. Je sais que twiddles modifiable (et quelques autres options). Il peut y avoir un bug dans la version fournie avec votre Vim mis à jour. Vous pouvez vérifier le numéro de version de l'installation active de Netrw avec :echo g:loaded_netrwPlugin .

Si le problème semble être lié à Netrw, vous pouvez essayer d'installer une autre version , ou peut-être une version de développement .

Cela se produit lorsque vous ouvrez un file en lecture seule. Vérifiez les permissions de file: il semble que votre user n'ait pas d'autorisation d'écriture sur le file. Ou peut-être que le système de files est monté en lecture seule (vérifier avec df /path/to/file pour voir sur quel système de file se trouve le file et utiliser mount ou cat /proc/mounts mount pour voir les options de assembly).

Une possibilité différente serait un plugin de déencoding buggy, mais je m'attendrais à d'autres messages d'erreur.