Cpo & vim è una sintassi speciale?


13

Negli script è consuetudine fare qualcosa del tipo:

let s:save_cpo = &cpo
set cpo&vim

... script ...

let &cpo = s:save_cpo

Per garantire la modalità nocompatibile per lo script.

È:

set cpo&vim

una sorta di sintassi speciale, come in foo & bar? O è più come un comando, una linea di trigger o qualcos'altro?

Risposte:


13

Sì, è una sintassi speciale per ripristinare le opzioni sui valori predefiniti di Vim. Da :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}

L'ho trovato semplicemente digitando :help &vim(che va anche a :help :set-&vim) :-)


4
Grazie, mio ​​cattivo. Ho guardato cpo, vimdoc.sourceforge.net/htmldoc/usr_41.html#use-cpo-save ecc.
Runium

1

cposignifica compatible optione &significa variabile opzione, quindi &cporappresenta il valore dell'opzione compatibile.

set cpo&vimè una sintassi speciale che dice a vim di ripristinare l'opzione di cpodefault aABceFs.

Vedi il documento in :h cpo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.