Является ли cpo & vim специальным синтаксисом?

14

В скриптах принято делать что-то вроде:

let s:save_cpo = &cpo
set cpo&vim

... script ...

let &cpo = s:save_cpo

Для обеспечения несовместимого режима для скрипта.

Является:

set cpo&vim

какой-то особый синтаксис, как в foo & bar? Или это больше похоже на команду, триггерную строку или что-то еще?

Runium
источник

Ответы:

14

Да, это специальный синтаксис для сброса параметров в значения по умолчанию Vim. От :help :set-&vim:

:se[t] {option}&        Reset option to its default value.  May depend on the
                        current value of 'compatible'. {not in Vi}
:se[t] {option}&vi      Reset option to its Vi default value. {not in Vi}
:se[t] {option}&vim     Reset option to its Vim default value. {not in Vi}

:se[t] all&             Set all options, except terminal options, to their
                        default value.  The values of 'term', 'lines' and
                        'columns' are not changed. {not in Vi}

Я нашел это, просто набрав :help &vim(что также идет к :help :set-&vim) :-)

Мартин Турной
источник
4
Спасибо мой плохой Я смотрел на cpo, vimdoc.sourceforge.net/htmldoc/usr_41.html#use-cpo-save и т. Д.
Runium
1

cpoозначает compatible optionи &означает переменную опции, поэтому &cpoпредставляет значение совместимой опции.

set cpo&vimэто специальный синтаксис, который говорит vim сбросить параметр, cpoкоторый по умолчанию равен aABceFs.

Смотрите документ в :h cpo

hw3a
источник