Czy cpo & vim jest specjalną składnią?

14

W skryptach zwyczajowo robi się coś takiego:

let s:save_cpo = &cpo
set cpo&vim

... script ...

let &cpo = s:save_cpo

Aby zapewnić tryb niezgodności skryptu.

Jest:

set cpo&vim

jakaś specjalna składnia, jak w foo & bar? A może bardziej przypomina polecenie, linię wyzwalania lub coś innego?

Runium
źródło

Odpowiedzi:

14

Tak, jest to specjalna składnia umożliwiająca zresetowanie opcji do wartości domyślnych Vima. Od :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}

Znalazłem to, pisząc :help &vim(co też idzie do :help :set-&vim) :-)

Martin Tournoij
źródło
4
Dzięki, mój zły. Patrzyłem na cpo, vimdoc.sourceforge.net/htmldoc/usr_41.html#use-cpo-save itp.
Runium
2

cpozmienna opcji oznacza compatible optioni &oznacza, więc &cporeprezentuje wartość zgodnej opcji.

set cpo&vimjest specjalną składnią, która każe vimowi zresetować opcję cpodomyślną aABceFs.

Zobacz dokument w :h cpo

hw3a
źródło