簡體   English   中英

映射和取消映射運算符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM