Làm thế nào để chuyển đổi hỗ trợ chuột trong vim?


9

Gần đây tôi đã làm việc trên máy tính xách tay của mình và tôi vô tình nhấp vào trong khi gõ. Tôi biết tôi có thể loại bỏ set mouse=atrong tôi .vimrc, nhưng đôi khi tôi thích sử dụng chuột.

Tôi có thể làm gì để tạo chức năng chuyển đổi để chuyển đổi hỗ trợ chuột?


1
Tại sao không sử dụng mouse=nv, để nó không được kích hoạt trong chế độ chèn?
Patrick

Điều này có thể phù hợp với trường hợp sử dụng của tôi, nhưng tôi thực sự đang tìm kiếm một chức năng để chuyển đổi nó.
zephyrthenoble

Câu trả lời:


10

Bạn có thể truy xuất giá trị của một tùy chọn bằng cách sử dụng tên của nó với tiền tố &. Vì vậy, một chức năng chuyển đổi đơn giản cho mousetùy chọn sẽ là:

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

Điều này bật tắt giữa "không có chuột" và "chuột trong tất cả các chế độ". Bạn có thể sử dụng nó thông qua:call ToggleMouse()

PS: không sử dụng cái gì đó như thế này cho các tùy chọn là boolean, vì chúng :set option!có thể được sử dụng để đảo ngược chúng.


7

Thêm mã dưới đây trong .vimrctập tin.

  map <F3> <ESC>:exec &mouse!=""? "set mouse=" : "set mouse=nv"<CR>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.