ฉันจะตรวจสอบค่าของตัวเลือก Vim ใน Vimscript ได้อย่างไร


15

ใน Vimscript ฉันจะตรวจสอบค่าปัจจุบันของตัวเลือก Vim ได้อย่างไร

ในการทำอย่างละเอียดฉันต้องการให้คำสั่งเปลี่ยนจากโหมด Full-GUI ( guioptions=+tM) เป็นโหมด Hacker ( guioptions=-tM)

อย่างไรก็ตามฉันไม่สามารถหาวิธีแยก:set guioptions?ค่าได้

คำตอบ:


13

คุณสามารถใช้&{option-name}คำสั่ง if ในคำสั่งดังนี้:

if &guioptions ==# "Trl"
    echo "Toolbars and scrollbars are present!"
elseif &guioptions ==# ""
    echo "No toolbars and scrollbars present!"
endif

การ&ระบุว่าชื่อตัวแปรเป็นตัวเลือกที่เป็นกลุ่ม

ดู:help :let-&เอกสารฉบับเต็ม


3

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