Cpo & vim est-il une syntaxe spéciale?

14

Dans les scripts, il est habituel de faire quelque chose comme:

let s:save_cpo = &cpo
set cpo&vim

... script ...

let &cpo = s:save_cpo

Pour garantir un mode non compatible pour le script.

Est:

set cpo&vim

une sorte de syntaxe spéciale, comme dans foo & bar? Ou est-ce plus comme une commande, une ligne de déclenchement ou autre chose?

Runium
la source

Réponses:

14

Oui, c'est une syntaxe spéciale pour réinitialiser les options aux valeurs par défaut de Vim. De :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}

Je l'ai trouvé en tapant simplement :help &vim(qui va aussi :help :set-&vim) :-)

Martin Tournoij
la source
4
Merci, ma mauvaise. J'ai regardé cpo, vimdoc.sourceforge.net/htmldoc/usr_41.html#use-cpo-save etc.
Runium
1

cposignifie compatible optionet &signifie variable d'option, &cporeprésente donc la valeur de l'option compatible.

set cpo&vimest une syntaxe spéciale qui indique à vim de réinitialiser l'option par cpodéfaut aABceFs.

Voir le doc en :h cpo

hw3a
la source