2014-04-15 97 views
0

沒有什麼我討厭幻影觸摸板點擊造成我的文本隨機進入某處。我寧願將打字解釋爲隨機的Vim命令。無論如何,我的配置使得離開插入模式在視覺上非常顯眼,所以這應該不是問題。Vim - 使點擊退出插入模式

我該怎麼做?我不認爲有一種方法可以在Vim中映射或攔截鼠標事件。我希望也許有一種點擊觸發的autocmd?

我只在這裏談論命令行Vim。不是MacVim或其他一些。

回答

5

您也可以映射鼠標什麼也不做:由OP

inoremap <LeftMouse> <Nop> 

編輯:這種認識的一點是這個問題的完美解決方案。

我更喜歡該死的確定在插入模式下左鍵被忽略。我非常喜歡這個答案的原因是它提供了不僅阻止遊標移動(使我的文本出現在我隨機點擊的地方)的一次兩拳,而且還防止了Vim造成這些錯誤鍵在鍵入時被解釋爲Vim命令,這是左鍵單擊時要發生的情況,即<ESC>

但是我發現有時候我會固執地一直罵鼠標來改變窗口同時仍然在插入模式下,即使我把我的整個狀態欄而改變顏色插入模式,主要是因爲我傻,和儘管單擊地圖,雙擊,三重和四重左鍵單擊的默認綁定仍然可以觸發,因爲在這種情況下,我只是將我正在敲擊的按鈕(本例中爲左鼠標)本能地搗碎,一種根據片狀/網絡連接(這實際上仍然沒有任何意義考慮TCP功能如何...)

因此,要解決該問題並配置Vim,以便它會迫使我意識到我處於插入模式,這裏是一個平均的更加防彈的一套綁定。它清除了左鍵單擊的所有默認功能,導致各種視覺模式選擇生效(如果我繼續取消,仍然會將我放回其他地方的插入模式,這是我打算糾正的原始行爲):

inoremap <LeftMouse> <Nop> "normally causes visual selection mode 
inoremap <2-LeftMouse> <Nop> "normally causes visual word selection mode 
inoremap <3-LeftMouse> <Nop> "normally causes visual line selection mode 
inoremap <4-LeftMouse> <Nop> "normally causes visual block selection mode 
2

隨着:set mouse=a(或至少:set mouse=i),可以使用下面的映射:

inoremap <LeftMouse> <Esc> 

有關更多信息,請參見:help mouse:help mouse-using

+0

令人驚歎!是。謝謝。 –