4

Я использую MacVim:

:version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 10 2013 17:49:20)
MacOS X (unix) version

Я выполнил: версию в vim (чтобы проверить, какие патчи я установил) и заметил следующие две строки в выводе:

 user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"

Для чего нужен второй пользователь и как бы вы его использовали?

Я нашел и прочитал этот вопрос:https://apple.stackexchange.com/q/34996/10733,

но ответ показывает, как интегрировать ~/.vim/vimrc в .vimrc.

Я также сделал следующий поиск в Google, который не дал ничего интересного:2-й пользователь в vim и ~/.vim/vimrc, и как использовать ~/.vim/vimrc

2 ответа2

5

"Файл vimrc второго пользователя" - это недавнее дополнение к Vim, которое, возможно, появляется в очень поздних версиях Vim 7.3, но, безусловно, в Vim 7.4.

Некоторые пользователи просили это второе местоположение для своего личного файла vimrc, чтобы они могли хранить все свои файлы конфигурации Vim в одном каталоге: ~/.vim в Unix или ~/vimfiles в Windows.

Как говорится в :help vimrc ,

Файлы ищутся в порядке, указанном выше, и читается только первый найденный файл.

Таким образом, если у вас есть файлы ~/.vimrc и ~/.vim/vimrc, будет использоваться только ~/.vimrc. Большинство пользователей используют один или другой, но не оба.

1

Я просмотрел код, который касается вывода :version и различных мест, откуда берется .vimrc -file.

В зависимости от используемой операционной системы файлы инициализации (например, .vimrc) ищутся в нескольких местах. Для некоторых операционных систем (таких как Amiga и, скорее всего, Mac) также проверяется более одного каталога; может быть до четырех разных мест, что, в свою очередь, даст вам:

  • user vimrc file ;
  • 2nd user vimrc file ;
  • 3rd user vimrc file и
  • 4th user vimrc file .

(Для тех, кто заинтересован, интересная часть находится в version.c вокруг строки 1184.)

Насколько я понимаю из остальной части кода, каждый из этих файлов поступает в указанном выше порядке, останавливаясь, как только один из этих путей не существует (см. Main.c вокруг строки 2993).

В вашем конкретном случае vim сначала попытается прочитать $HOME/.vimrc . Если он существует, он получен, и vim ищет ~/.vim/vimrc . Если он существует, он также читается.

Вы можете убедиться в этом, поместив некоторые команды в любой файл, которые выдают какой-либо вывод, например, вывести echo "something" в любой из файлов vimrc.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .