VIM прекратил использовать мой _vimrc, и я не могу понять, где он устанавливается?

1451
faceless1_14

Мой _vimrc выглядит так

 set nocompatible source $VIMRUNTIME/vimrc_example.vim colorscheme pablo set backup=~/vimfiles/backup set directory=~/vimfiles/tmp  set diffexpr=MyDiff() function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '\ ' . arg3 . eq endfunction 

Однако я считаю, что он использует настройки, которые будут выглядеть так:

 set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin  set diffexpr=MyDiff() function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '\ ' . arg3 . eq endfunctio 

Проблема с этим заключается в следующем:

А) Мне понравилась моя схема цветов, она была там благодаря вашей помощи.

Б) Я не хочу использовать конфигурации mswin. Это портит меня, особенно то, что ctrl-z и ctrl-v делают вещи, которые мне не нравятся. Я предпочитаю, чтобы Ctrl-V переходил в визуальный режим, как это имеет смысл.

C) Я хотел бы иметь временный каталог и резервную копию, настроенную для vim. (если честно, я не уверен, правильно ли я делаю эту часть.

1
Есть ли причина, по которой вы называете свой файл .vimrc _vimrc? innaM 14 лет назад 0
Потому что файл называется _vimrc в Windows, потому что Windows не любит имена файлов, начинающиеся с. faceless1_14 14 лет назад 2

3 ответа на вопрос

6
yalestar

В VIM введите :version, и это по крайней мере покажет вам порядок загрузки файлов * vimrc.

Что касается c), set directoryбит определяет, куда VIM помещает свои файлы подкачки. Чтобы указать, куда идут резервные копии, используйте:set backupdir

Ах, спасибо, это была огромная помощь. Я, очевидно, переместил мой vimrc, и он смотрел не на тот файл. faceless1_14 14 лет назад 0
0
Heptite

Возможно, вам будет полезно узнать некоторые общие методы устранения неполадок для Vim, когда вам нужно выяснить, почему что-то устанавливается или не устанавливается в Vim.

Вы можете запустить команду " :scriptnames" после запуска Vim, чтобы увидеть, какие скрипты действительно были загружены. Ваш vimrc должен быть около вершины (мой номер 1).

Другой способ определить настройку параметра - выполнить « :verbose setимя параметра? » (со знаком вопроса). Если параметр не был установлен пользователем вручную из строки: -command, он должен иметь строку «Последний набор из ...» ниже текущего значения параметра. К сожалению, это не работает с неопциями, хотя может использоваться для другой отладки. Смотри " :help :verbose".

0
Alan Thompson

You can see which vim init file was found first and used by using the variable $MYVIMRC. Just echo it at the command (colon) prompt from within a vim session

:echo $MYVIMRC