[英]Mapping & Unmapping an operator
我想在vim中定義自己的鍵綁定(覆蓋默認鍵):
1)如何映射一個運算符? 例如,我想將delete運算符映射到“ l”鍵,因此ll將刪除整行並lw當前單詞。
2)如何取消映射操作員? 我想從d鍵中取消刪除操作符的映射,因此我可以將此鍵(d)用於另一件事,我試圖將“ d”鍵簡單地重新映射到另一個動作(例如,nmap dk),但這會導致一個延遲按下“ d”時第二秒(因為vim正在等待運動)。
這樣做的主要原因是我的鍵盤有一個數字鍵盤,我不想每次輸入數字時都會將我的右手從hjkl切換到數字鍵盤(這種情況經常發生),我更喜歡更改hjkl到asdf,將我的左手固定在動作和特殊鍵(crtl,shift,esc)上,並將我的右手用於其他命令。 這樣我的生產力大大提高了。
您無法取消映射d以將其釋放以用於其他用途。 您甚至不需要:
nnoremap l d
會將l
映射為與d
相同(注意:這將不允許ll
)。
nnoremap d {some-other-thing}
將d
映射為做其他事情,您不需要在這里釋放一些東西。 完成以上所有操作后
nnoremap l c
將使l
具有與c
相同的含義,而無需進行任何映射: *map
命令將覆蓋現有映射,除非為它們賦予<unique>
參數。
為了讓ll
你有一些選擇:
nnoremap ll dd
要么
onoremap l d
。 請注意,不幸的是,我不知道與重復字符具有相同含義但與操作員無關的動作。 因此, ll
將在最后一種情況下工作,但是cl
會像cd
一樣失敗。
但是,如果您經常在他人的機器上工作,那么可能的事實並不是一個好主意。 如果您不知道,這也不是一個壞主意。 如果每個人都在乎使用他人的機器,那么您將使用記事本,而無需++
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.