cpo & vim เป็นไวยากรณ์พิเศษหรือไม่


14

ในสคริปต์มันเป็นประเพณีที่จะทำสิ่งที่ชอบ:

let s:save_cpo = &cpo
set cpo&vim

... script ...

let &cpo = s:save_cpo

เพื่อให้แน่ใจว่าโหมดที่เข้ากันไม่ได้สำหรับสคริปต์

คือ:

set cpo&vim

การจัดเรียงบางส่วนของไวยากรณ์พิเศษในขณะที่foo & bar? หรือว่ามันเป็นเหมือนคำสั่งทริกเกอร์ไลน์หรืออย่างอื่นมากกว่านี้?

คำตอบ:


14

ใช่มันเป็นรูปแบบพิเศษที่จะรีเซ็ตตัวเลือกให้เป็นค่าเริ่มต้น จาก: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) :-)


4
ขอบคุณฉันไม่ดี ฉันเคยดู cpo, vimdoc.sourceforge.net/htmldoc/usr_41.html#use-cpo-saveฯลฯ
Runium

2

cpoหมายถึงcompatible optionและ&หมายถึงตัวแปรตัวเลือกจึง&cpoแสดงถึงค่าของตัวเลือกที่เข้ากันได้

set cpo&vimเป็นไวยากรณ์พิเศษที่บอกเป็นกลุ่มที่จะตั้งค่าตัวเลือกของที่เริ่มต้นที่cpoaABceFs

ดูเอกสารใน :h cpo

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.