Итак, когда я нажимаю, :set
я вижу кучу настроек, которых нет в моем ~/.vimrc
файле. (Я предполагаю, что это настройки, которые я установил много лет назад и не помню).
Так я и делаю :version
и получаю путь $VIM/vimrc
, который, как говорят, "откатывается" usr/share/vimrc
. Это "системный vimrc".
Я открываю последний путь, и таинственных настроек в этом файле vimrc нет.
Единственный другой путь — это «файл пользователя excrc» по адресу $HOME/.exrc
, но я понятия не имею, как до него добраться и что это такое.
Кто-нибудь знает, откуда берутся настройки, которые появляются, когда я даю команду :set
?
У меня OS X (10.6).
решение1
Есть несколько вещей, которые Vim устанавливает автоматически, если присутствует ~/.vimrc. Среди них есть , 'nocompatible'
который влияет на ряд других параметров. Кроме того, Vim пытается определить правильные значения для других настроек на основе среды. Например, правильное значение 'background'
часто может быть автоматически определено Vim, если он вызван из Xterm или совместимого эмулятора терминала. Настройки языка будут основаны на переменных среды.
Наконец, вы можете запустить " ", чтобы увидеть, какие файлы Vim использовал с момента запуска. Это должно включать в себя указание того, где находится :scriptnames
система , если она существует.vimrc
решение2
Попробуйте, /etc/vimrc
так как это значение по умолчанию для большинства дистрибутивов Linux, с которыми я сталкивался, и, возможно, то же самое относится и к OS X.
решение3
Чтобы увидеть, где в последний раз была установлена конкретная опция, выполните
:verbose set <option>?
Чтобы увидеть параметры, которые vim устанавливает самостоятельно, запустите vim как
vim -N -u NONE
затем выполнить :set
. В моем случае, запустив Vim 7.3.487 на Linux, я вижу
:set
--- Options ---
helplang=en scroll=11 ttymouse=xterm2
noloadplugins ttyfast
fileencodings=ucs-bom,utf-8,default,latin1
background=light
Чтобы узнать, почему что-либо из этого установлено таким образом, используйте :help
. Например, :help 'ttyfast'
объясняет, что это установлено, потому что vim определил, что мой терминал является xterm.