Bagaimana cara mengganti dukungan mouse di vim?

9

Saya telah mengerjakan banyak laptop saya belakangan ini, dan saya tidak sengaja mengklik saat mengetik. Saya tahu saya bisa menghapus set mouse=adi saya .vimrc, tetapi kadang-kadang saya suka menggunakan mouse.

Apa yang dapat saya lakukan untuk membuat fungsi toggle untuk mengubah dukungan mouse?

zephyrthenoble
sumber
1
Mengapa tidak digunakan mouse=nv, sehingga tidak diaktifkan selama mode penyisipan?
Patrick
Ini mungkin cocok untuk saya-gunakan, tetapi saya benar-benar mencari fungsi untuk mengubahnya.
zephyrthenoble

Jawaban:

10

Anda dapat mengambil nilai suatu opsi dengan menggunakan namanya dengan huruf &prepended. Jadi fungsi toggle sederhana untuk mouseopsi adalah:

function! ToggleMouse()
    " check if mouse is enabled
    if &mouse == 'a'
        " disable mouse
        set mouse=
    else
        " enable mouse everywhere
        set mouse=a
    endif
endfunc

Ini beralih antara "tidak ada mouse" dan "mouse dalam semua mode". Anda dapat menggunakannya melalui:call ToggleMouse()

PS: jangan gunakan sesuatu seperti ini untuk opsi yang boolean, karena ini :set option!dapat digunakan untuk membalikkannya.

crater2150
sumber
7

Tambahkan kode di bawah ini dalam .vimrcfile.

  map <F3> <ESC>:exec &mouse!=""? "set mouse=" : "set mouse=nv"<CR>
khangpa
sumber