Подтвердить что ты не робот

Есть ли разница между `синтаксисом on` и` syntax enable` в vimscript?

В моем .vimrc файле я использую:

syntax on

Сегодня я просматривал некоторые .vimrc файлы от других разработчиков, и я заметил несколько примеров:

syntax enabled

Есть ли разница? Они оба достигают одной и той же цели, просто используя другое выражение?

4b9b3361

Ответ 1

Да. Вероятно, вы должны использовать только syntax enable. И правильный способ сделать это в .vimrc для защиты:

if !exists("g:syntax_on")
    syntax enable
endif

Причиной этого стража является то, что вызов syntax enable несколько раз, например, при повторном поиске .vimrc, он будет clobber любой цветной подсветкой, которую вы уже настроили. Я видел этот clobber NERDTree, выделяющий, помимо прочего, без охраны.

Несмотря на то, что в большинстве примеров Vim будет отображаться syntax on, это довольно плохо спроектировано, поскольку помощь подскажет вам, почему предпочтительнее включить, особенно если вы часто используете ваш .vimrc:

The ":syntax enable" command will keep your current color settings.  This
allows using ":highlight" commands to set your preferred colors before or
after using this command.  If you want Vim to overrule your settings with the
defaults, use: >
    :syntax on

Vim не очень удобен для пользователя, и есть много забавных проблем, подобных этому!