在脚本中,习惯执行以下操作:

let s:save_cpo = &cpo
set cpo&vim

... script ...

let &cpo = s:save_cpo


以确保脚本的不兼容模式。

是:

set cpo&vim


某种特殊的语法,例如foo & bar中的语法?还是更像是命令,触发行或其他内容?

#1 楼

是的,将选项重置为Vim默认值是一种特殊的语法。来自: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}


我只是通过键入:help &vim(也可以转到:help :set-&vim)找到它:-)

评论


谢谢,我不好。我一直在看cpo,vimdoc.sourceforge.net/htmldoc/usr_41.html#use-cpo-save等。

– Runium
2015年2月23日在0:44



#2 楼

cpo表示compatible option&表示选项变量,因此&cpo表示兼容选项的值。

set cpo&vim是一种特殊的语法,告诉vim重置cpo的选项,默认为aABceFs

请参阅:h cpo中的文档