Использовать .vimrc и .vim/ другого пользователя

Использовать .vimrc и .vim/ другого пользователя

Я знаю, что могу :source /path/to/some/.vimrcзагрузить своего пользователя, .vimrcкогда работаю как root, но как я могу использовать весь .vim/каталог? Есть ли опция запуска для использования /home/user/.vim/, которую я могу настроить как псевдоним?

И где в прекрасном руководстве я бы нашел эту информацию, если бы знал, что искать. Простой :help .vimили :help .vimrcне нашел информацию об использовании всего .vim/каталога ( -Uтолько для .vimфайла).

Спасибо.

решение1

используйте переменную окруженияVIMINITчтобы указать направо .vimrcиVIMRUNTIMEчтобы указать на нужный .vimкаталог. Вы можете сделать это через env:

$> env VIMINIT=/home/user/.vimrc VIMRUNTIME=/home/user/.vim/ vim

$> VIMINIT='let $MYVIMRC = expand('\''~user'\'') . '\''/.vimrc'\''|source $MYVIMRC' vim -c 'set runtimepath=~user/.vim,/var/lib/vim/addons,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,/var/lib/vim/addons/after,~user/.vim/after'

как всегда: если текст слишком длинный, создайте функцию оболочки или псевдоним оболочки.

чтобы узнать больше о том, как vimпроисходят запуски и что происходит за кулисами, читайте:help initialization.

решение2

Кажется, VIMINITи VIMRUNTIMEне используются так, как сказал Акира.

VIMINITиспользуется как команда Ex, поэтому VIMINIT=/home/user/.vimrcпопробует выполнить поиск и выдаст ошибку типа:

search hit BOTTOM, continuing at TOP
Error detected while processing VIMINIT:
E486: Pattern not found: home

VIMRUNTIMEобычно указывает на место, где установлены основные файлы поддержки vim, например /usr/share/vim/vim73, поэтому, если он перенаправлен в /home/user/.vim, vim потеряет многие основные функции, если только ваш vim не установлен просто в /home/usr/.vim.


Согласно :help -uи :help vimrc,-u vimrcoption может указать .vimrcфайл, но пропустит большинство других файлов инициализации, таких как системный vimrc, например. /etc/vimrcЕсли указанный файл vimrc выполняет почти все задачи, то недостаток, если его так назвать, тривиален.

Согласно :help runtimepath, путиruntimepathбудет выполнен поиск файлов поддержки, поэтому мы можем добавлять их в начало /home/user/.vimи конец файла vimrc перед его загрузкой, используя параметры при запуске./home/user/.vim/afterruntimepath--cmd

Подводя итог, мы можем настроить этот псевдоним для использования ~/.vimrc и ~/vim:

alias vim='vim --cmd "set runtimepath^=/home/user/.vim" \
               --cmd "set runtimepath+=/home/user/.vim/after" \
               -u /home/user/.vimrc'

ps. В качестве альтернативы вам также могут подойти две простые символические ссылки.

mv /root/.vimrc{,.bak}
mv /root/.vim{,.bak}
ln -s /home/user/.vimrc /root/
ln -s /home/user/.vim /root/

решение3

Вероятно, это лучшее решение.

export MYVIMRC="/xxx/.vimrc"
export VIMINIT=":set runtimepath+=/xxx/.vim|:source $MYVIMRC"

где xxxнаходится настроенный путь.

Связанный контент