web-dev-qa-db-fra.com

Ne pas lire ~/.vimrc

J'ai un fichier ~/.vimrc que vim ne semble pas lire ... Il y a un fichier dans/etc/vimrc, et il semble qu'il l'utilise.

D'après ce que j'ai compris, celui du répertoire de base devrait remplacer celui-ci, n'est-ce pas?

Mettre à jour

cat vim_strace | grep .vimrc
    stat64("/etc/vimrc", {st_mode=S_IFREG|0644, st_size=1438, ...}) = 0
    open("/etc/vimrc", O_RDONLY|O_LARGEFILE) = 3
    stat64("/etc/vimrc", {st_mode=S_IFREG|0644, st_size=1438, ...}) = 0
    stat64("/root/.vimrc", {st_mode=S_IFREG|0644, st_size=35, ...}) = 0
    open("/root/.vimrc", O_RDONLY|O_LARGEFILE) = 3
    stat64("/root/.vimrc", {st_mode=S_IFREG|0644, st_size=35, ...}) = 0
46
NinjaCat

si vous êtes sur Linux et que vous voulez savoir si vim accède à votre ~/.vimrc au démarrage, vous pouvez le lancer avec strace: 

strace -o vim_strace vim

puis quittez vim . Ouvrez le fichier vim_strace et recherchez "vimrc" dans le fichier. vous devriez trouver une ligne comme ça

stat64("/home/youruser/.vimrc", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0

ce qui signifie qu'au moins vim voit le fichier.

57
hellvinz

Une fois que vous avez chargé vim, :scriptnames vous indiquera exactement ce que Vim a lu.

Pour moi, ça commence comme ça:

  1: /Applications/MacVim.app/Contents/Resources/vim/vimrc
  2: ~/.vimrc
  3: /Applications/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim
  4: /Applications/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim
  5: /Applications/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim

SI vous voulez vérifier où un paramètre particulier est défini, utilisez "ensemble détaillé". Par exemple, :verbose set background me dit:

  background=light
        Last set from ~/.vimrc

je sais donc que mon réglage dans ~/.vimrc est en cours de lecture et qu’aucun des fichiers les plus récents ne l’empêche.

113
James Polley

J'ai eu ce problème et je viens d'ajouter ce qui suit au fichier ~/.bash_profile:

alias vim="vim -S ~/.vimrc"
13
GuestUser123456789

Si quelqu'un rencontre ce problème en utilisant neovim , vous devez savoir (avant de commencer à vous arracher les cheveux) que le fichier .vimrc est chargé à partir de ~/.config/nvim/init.vim.

mkdir -p ~/.config/nvim; ln -s ~/.vimrc ~/.config/nvim/init.vim
7
E. Sundin

Juste pour ajouter les instructions de Hellvinz.

Après avoir créé le fichier vim_strace.

chat vim_strace | grep .vimrc

rend la vie un peu facile :)

4
Rojan

utilisez le fichier /etc/vim/vimrc.local dans Ubuntu

3
Xolani

Sur OSX 10.8.0, l'emplacement du fichier vimrc est:/usr/share/vim/vimrc

Je viens d'ajouter mes modifications au bas du fichier. 

Bien entendu, cela a pour effet d’apporter des modifications à tous les utilisateurs. Pour ma vie, je n'arrive pas à comprendre comment le lire ~/.vimrc. Cela n'a jamais été un problème pour moi sur 10.6.x 

Quoi qu'il en soit, c'est une solution rapide, même si c'est un peu sale.

À votre santé

3
user821816

Si quelqu'un d'autre rencontre ce problème et, comme moi, réalise que .vimrc n'a pas été lu à cause de Sudo, essayez d'utiliser Sudo -E. Il conserve votre environnement pour la commande et $HOME pointera vers votre propre répertoire personnel. Notez que cela peut ne pas fonctionner dans les environnements où /home est monté avec rootsquash .

2
Ben Davis

sur ma Debian avec VIM73 après avoir essayé une solution avec .vimrc alors:

Je lance une recherche

find / -name vimrc

et trouvé. /etc/vim/vimrc

ouvrez-le et comprenez que cela annulera d'autres paramètres 

décommentez simplement " certains réglages utiles que vous souhaitez

1
bortunac

Vérifiez si $VIMINIT a été défini. Cela pourrait empêcher la lecture de votre ~/.vimrc. Voir :help VIMINIT:

 c. Four places are searched for initializations.  The first that exists
    is used, the others are ignored.  [...]
    -  The environment variable VIMINIT [...]

Pour moi, désélectionner VIMINIT a fait l'affaire, mon ~/.vimrc est maintenant lu.

1
GWu