¿Es cpo & vim una sintaxis especial?

13

En los scripts es costumbre hacer algo como:

let s:save_cpo = &cpo
set cpo&vim

... script ...

let &cpo = s:save_cpo

Para garantizar un modo no compatible para el script.

Es:

set cpo&vim

algún tipo de sintaxis especial, como en foo & bar? ¿O es más como un comando, una línea de activación u otra cosa?

Runium
fuente

Respuestas:

13

Sí, es una sintaxis especial para restablecer las opciones a los valores predeterminados 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}

Lo encontré simplemente escribiendo :help &vim(que también va a :help :set-&vim) :-)

Martin Tournoij
fuente
44
Gracias mi mal. He estado buscando en CPO, vimdoc.sourceforge.net/htmldoc/usr_41.html#use-cpo-save etc.
Runium
1

cposignifica compatible optiony &significa variable de opción, por lo que &cporepresenta el valor de la opción compatible.

set cpo&vimes una sintaxis especial que le dice a vim que restablezca la opción cpocuyo valor predeterminado es aABceFs.

Ver el documento en :h cpo

hw3a
fuente