Изменить местоположение по умолчанию vimrc - PullRequest
41 голосов
/ 18 августа 2011

Можно ли в Vim изменить расположение по умолчанию пользовательского файла vimrc, т. Е. С $ HOME / .vimrc на другое местоположение?

Ответы [ 8 ]

40 голосов
/ 18 августа 2011

Другим решением может быть создание symlink для вас предпочтительного местоположения.У меня есть .vimrc в $HOME/.vim/.vimrc и symlink.Таким образом, я могу сделать это в git-репо и сделать резервную копию.

32 голосов
/ 18 августа 2011

Вы должны запустить vim с помощью команды vim -u ./path/to/your/vimrcfile

vim -u NONE - хороший способ запустить Vim без каких-либо плагинов или настроек.

См. :help starting.txt для получения дополнительной информации.

28 голосов
/ 24 сентября 2014

Переменная VIMINIT - мой предпочтительный метод.Проблема с наложением псевдонима vim с флагом -u состоит в том, что если vim открывается каким-либо иным образом, чем из команды оболочки, ваша конфигурация не будет задействована. Установка $ VIMINIT не имеет этого недостатка.Проверьте this для получения дополнительной информации.

export VIMINIT='source $MYVIMRC'
export MYVIMRC='~/.vim/vimrc'  #or any other location you want

Обратите внимание, что Vim обычно устанавливает переменную MYVIMRC, хотя я точно не знаю, для чего она используется.Основываясь на моем тестировании, использование VIMINIT таким образом приведет к тому, что он не будет автоматически установлен при запуске, как обычно.Вот почему я устанавливаю это сам.

Это работает и для neovim!

17 голосов
/ 18 августа 2011

В Windows у меня есть _vimrc, который находится в моем домашнем каталоге и содержит одну строку: source c:\path\to\my.vimrc.

Я еще не нашел хороший способ переместить всю папку vimfiles полностью, ноэто менее критично, так как это все, что я установил откуда-то еще.Т.е. было бы легко восстановить, если бы я его потерял.(Я знаю, что могу изменить runtimepath, но моя проблема заключается в том, чтобы придумать «хороший» способ сделать это.)

Обновление

Через шесть летЯ немного расширил то, что упоминаю в комментариях ниже;когда я помещал вещи в «после» и хотел просто содержать rtp в чистоте, я получил кое-что, что уже давно было прочным.Сегодня в моем %USERPROFILE%\_vimrc я жестко кодирую фактические пути к вещам, и они меняются на каждой машине, которую я использую (и я в основном делаю то же самое на * nix), но это копируется в основном вручную при настройке нового ПК.У меня также есть версия, которую я могу использовать для запуска Vim на другом подключенном компьютере в сети, например, на компьютере коллеги, поэтому я получаю свою конфигурацию и все такое, но суть:

set runtimepath^=E:/dotfiles/vim
set runtimepath+=E:/dotfiles/vim/after
set runtimepath-=~/vimfiles
set runtimepath-=~/vimfiles/after
runtime vimrc

а затем %USERPROFILE%\_gvimrc просто имеет одну строку:

runtime gvimrc

(оба vimrc и gvimrc находятся в папке /dotfiles/vim, а также в Bitbucket .)

3 голосов
/ 24 сентября 2014

Я вижу два варианта, в зависимости от ваших потребностей.

  1. Пусть ~ / .vimrc импортирует другое местоположение
  2. создайте псевдоним в вашем bashrc alias vim = "vim -uдругое местоположение "
2 голосов
/ 08 октября 2014

Я отредактировал

C:\Program Files\Vim\_vimrc

, изменил и путь выполнения и получил свой собственный .vimrc.

Я также использую эти настройки в Cygwin (и они управляют версией).Так что это на практике (добавлено внизу файла _vimrc):

let &runtimepath = 'C:\cygwin\home\cygwinaccount\.vim,' . &runtimepath
source C:\cygwin\home\cygwinaccount\.vimrc

Блаженство!:)

0 голосов
/ 28 мая 2019

Мне кажется, что самое простое решение - просто иметь одну строку в ~/.vimrc, которая загружает vimrc из другого места, то есть:

source PATH/TO/OTHER/LOCATION/.vimrc
0 голосов
/ 30 августа 2017

В Linux: вы можете отредактировать сценарий запуска .bashrc или .zshrc и добавить следующие строки, чтобы изменить расположение по умолчанию файла .vimrc

export VIMINIT='source $MYVIMRC'
export MYVIMRC='~/.vim/.vimrc'  # Note the . (dot) before vimrc. If that is what you have called it.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...