В скриптах принято делать что-то вроде:
let s:save_cpo = &cpo
set cpo&vim
... script ...
let &cpo = s:save_cpo
Для обеспечения несовместимого режима для скрипта.
Является:
set cpo&vim
какой-то особый синтаксис, как в foo & bar
? Или это больше похоже на команду, триггерную строку или что-то еще?
cpo
означаетcompatible option
и&
означает переменную опции, поэтому&cpo
представляет значение совместимой опции.set cpo&vim
это специальный синтаксис, который говорит vim сбросить параметр,cpo
который по умолчанию равенaABceFs
.Смотрите документ в
:h cpo
источник