Не читает ~ / .vimrc - PullRequest
       3

Не читает ~ / .vimrc

50 голосов
/ 16 августа 2010

У меня есть файл ~ / .vimrc, который, кажется, vim не читает.Есть файл в / etc / vimrc, и похоже, что он его использует.

Насколько я понимаю, файл в домашнем каталоге должен переопределить этот, не так ли?1004 * Обновление

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

Ответы [ 11 ]

118 голосов
/ 14 марта 2012

Как только вы загрузите vim, :scriptnames точно скажет вам, что читал Vim.

Для меня все начинается так:

  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

Если вы хотите проверить, гдеустанавливается конкретный параметр, используйте «подробный набор».Например, :verbose set background говорит мне:

  background=light
        Last set from ~/.vimrc

, поэтому я знаю, что мои настройки в ~ / .vimrc читаются, и что ни один из более поздних файлов не засоряет их.

59 голосов
/ 16 августа 2010

, если вы работаете в Linux и хотите узнать, обращается ли vim к вашему ~ / .vimrc при запуске, вы можете запустить его с помощью strace:

strace -o vim_strace vim

, затем выйдите из vim.Откройте файл vim_strace и найдите в нем «vimrc».вы должны найти такую ​​строку

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

, которая означает, что по крайней мере vim видит файл.

15 голосов
/ 10 февраля 2015

У меня была эта проблема, и я добавил следующее в файл ~/.bash_profile:

alias vim="vim -S ~/.vimrc"
10 голосов
/ 29 октября 2017

Если кто-то столкнулся с этой проблемой при использовании neovim , вы должны знать (прежде чем вы начнете стягивать волосы), что файл .vimrc загружен из ~/.config/nvim/init.vim.

mkdir -p ~/.config/nvim; ln -s ~/.vimrc ~/.config/nvim/init.vim
4 голосов
/ 16 августа 2010

Просто чтобы добавить инструкцию hellvinz.

После того, как вы сделали файл vim_strace.

cat vim_strace |grep .vimrc

облегчает жизнь:)

3 голосов
/ 14 мая 2014

использовать файл / etc / vim / vimrc.local в Ubuntu

3 голосов
/ 07 мая 2014

Если кто-нибудь еще столкнется с этой проблемой и, как я, понимает. vimrc не был прочитан из-за sudo, попробуйте использовать sudo -E.Он сохраняет ваше окружение для команды, и $HOME будет указывать на ваш собственный домашний каталог.Обратите внимание, что это может не работать в средах, где /home смонтирован с rootsquash .

3 голосов
/ 29 июня 2011

В OSX 10.8.0 расположение файла vimrc: / usr / share / vim / vimrc

Я просто добавляю свои изменения в конец файла.

Конечно, это приводит к внесению изменений для всех пользователей. Что касается жизни, я не могу понять, как заставить ее читать ~ / .vimrc. Это никогда не было проблемой для меня на 10.6.x

В любом случае, это быстрое решение, даже если оно немного грязное.

Приветствия

1 голос
/ 15 мая 2019

После проверки scriptnames и verbose, как предложено выше, я заметил, что мои настройки действительно загружаются, но переопределяются другим плагином, создавая впечатление, что он не читает / не загружает .vimrc.

Если это произойдет с вами, и вы захотите переопределить конкретную настройку из плагина, без полного исключения всех других полезных вещей из этого плагина, вы можете создать файл конфигурации для загрузки после Плагин загружается, создавая файл в ~/.vim/after/<path>/<plugin_name>. Для справки см. этот другой вопрос .

1 голос
/ 28 мая 2018

Проверьте, установлено ли $VIMINIT.Это может помешать чтению вашего ~/.vimrc.См. :help VIMINIT:

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

. Для меня сбросьте VIMINIT сделал трюк, мой ~/.vimrc теперь читается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...