pi314 / ime.vim

A Vim input method engine
BSD 2-Clause "Simplified" License
84 stars 3 forks source link

``g:boshiamy_cancel_input`` 的能力需要增強 #15

Open pi314 opened 7 years ago

pi314 commented 7 years ago

g:boshiamy_cancel_input 的原則就是,懶:想在一堆中文字之間嵌入英文單字,但又不想切回英文,若輸入了 id, user 等常用單字,可以方便的把它們打回英文

但打字的速度稍微快一點的時候,常常在發現的時候已經打了下一個字,這時候才按下 cancel input 已經來不及了,所以 cancel input 的範圍需要加大才行

pi314 commented 7 years ago

但在實作這個功能的時候儘可能不要增加 mapping,多一個 mapping 就可能多一個 bug

如果可以的話,event 也要小心使用,不要使用會被經常觸發的 event(效能考量)

不過我認為可以做一些讓實作容易一點的假設,例如假設使用者在打字時不會用方向鍵移動游標

pi314 commented 7 years ago

目前有個粗略的想法是,在按下空白鍵的時候把游標位置和字根存起來,按下 cancel input 的時候比對游標位置

但有個問題是那串字根所送出的字沒辦法 100% 用來回推字根,而 CompleteDone event 在 7.3 沒有實作