ใน Vimscript ฉันจะตรวจสอบค่าปัจจุบันของตัวเลือก Vim ได้อย่างไร
ในการทำอย่างละเอียดฉันต้องการให้คำสั่งเปลี่ยนจากโหมด Full-GUI ( guioptions=+tM
) เป็นโหมด Hacker ( guioptions=-tM
)
อย่างไรก็ตามฉันไม่สามารถหาวิธีแยก:set guioptions?
ค่าได้
ใน Vimscript ฉันจะตรวจสอบค่าปัจจุบันของตัวเลือก Vim ได้อย่างไร
ในการทำอย่างละเอียดฉันต้องการให้คำสั่งเปลี่ยนจากโหมด Full-GUI ( guioptions=+tM
) เป็นโหมด Hacker ( guioptions=-tM
)
อย่างไรก็ตามฉันไม่สามารถหาวิธีแยก:set guioptions?
ค่าได้
คำตอบ:
คุณสามารถใช้&{option-name}
คำสั่ง if ในคำสั่งดังนี้:
if &guioptions ==# "Trl"
echo "Toolbars and scrollbars are present!"
elseif &guioptions ==# ""
echo "No toolbars and scrollbars present!"
endif
การ&
ระบุว่าชื่อตัวแปรเป็นตัวเลือกที่เป็นกลุ่ม
ดู:help :let-&
เอกสารฉบับเต็ม
Akshay แก้ไขมัน: เพียงแค่โพสต์ฟังก์ชั่นที่เกิดกรณีที่คนอื่นอาจต้องการ / ต้องการ
function! ToggleMenuBar()
let l:menu_option = strridx(&guioptions, "m")
let l:toolbar_option = strridx(&guioptions, "T")
if l:menu_option > 0
set guioptions-=m
else
set guioptions+=m
endif
if l:toolbar_option > 0
set guioptions-=T
else
set guioptions+=T
endif
endfunction