
Я знаю, что могу :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 vimrc
option может указать .vimrc
файл, но пропустит большинство других файлов инициализации, таких как системный vimrc, например. /etc/vimrc
Если указанный файл vimrc выполняет почти все задачи, то недостаток, если его так назвать, тривиален.
Согласно :help runtimepath
, путиruntimepath
будет выполнен поиск файлов поддержки, поэтому мы можем добавлять их в начало /home/user/.vim
и конец файла vimrc перед его загрузкой, используя параметры при запуске./home/user/.vim/after
runtimepath
--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
находится настроенный путь.