Почему параметры типа файла Vim включены, когда ~ / .vimrc отсутствует, но выключены, когда он присутствует? - PullRequest
0 голосов
/ 02 ноября 2019

Я использую Vim 8.1 в системе Ubuntu. Вот три случая, которые я нашел.

Дело 1

$ ls -l ~/.vimrc
ls: cannot access '/home/lone/.vimrc': No such file or directory
$ vim -u NONE +':filetype'
filetype detection:OFF  plugin:OFF  indent:OFF

Дело 2

$ ls -l ~/.vimrc
ls: cannot access '/home/lone/.vimrc': No such file or directory
$ vim +':filetype'
filetype detection:ON  plugin:ON  indent:ON

Дело 3

$ touch ~/.vimrc
$ ls -l ~/.vimrc
-rw-r--r-- 1 lone lone 0 Nov  2 18:41 /home/lone/.vimrc
$ vim +':filetype'
filetype detection:OFF  plugin:OFF  indent:OFF

Вопрос

  1. Почему опции filetype включены, когда присутствует ~/.vimrc, но выключены, когда присутствует ~/.vimrc?
  2. Где в документации Vim :help можно яузнать больше об этом поведении?

Ответы [ 2 ]

2 голосов
/ 04 ноября 2019
  1. -u NONE отключает все vimrc (включая значения по умолчанию, подробнее об этом ниже)
  2. Без vimrc вступают в игру значения по умолчанию (при условии, что у вас vim> 7.4.2111 или> 8)
  3. При использовании vimrc значения по умолчанию не получены.

От :help defaults.vim:

Defaults without a .vimrc file ~
                            *defaults.vim*
If Vim is started normally and no user vimrc file is found, the
$VIMRUNTIME/defaults.vim script is loaded.  This will set 'compatible' off,
switch on syntax highlighting and a few more things.  See the script for
details.  NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
patch 7.4.2111 to be exact).

This should work well for new Vim users.  If you create your own .vimrc, it is
recommended to add these lines somewhere near the top: >
    unlet! skip_defaults_vim
    source $VIMRUNTIME/defaults.vim
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
is way to do this.  Alternatively, you can copy defaults.vim to your .vimrc
and modify it (but then you won't get updates when it changes).

If you don't like some of the defaults, you can still source defaults.vim and
revert individual settings.  See the defaults.vim file for hints on how to
revert each item.
                        *skip_defaults_vim*
If you use a system-wide vimrc and don't want defaults.vim to change settings,
set the "skip_defaults_vim" variable.  If this was set and you want to load
defaults.vim from your .vimrc, first unlet skip_defaults_vim, as in the
example above.
0 голосов
/ 02 ноября 2019

vim -u NONE запускает vim без любого файла конфигурации и устанавливает для всех параметров значения по умолчанию.

vim без ~/.vimrc считывает значения конфигурации из файла конфигурации системы. Попробуйте /etc/vim/vimrc или /usr/share/vim/vimrc.

См. http://vimdoc.sourceforge.net/htmldoc/starting.html#initialization

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...