我試圖重新映射VIM中的*運算符。我試過nnoremap <*>
和nnoremap <S-8>
無濟於事。我一直無法找到關於如何正確執行此操作的任何說明。我如何重新映射我的*,或任何數字鍵/數字鍵特殊字符?如何重新映射VIM中的數字鍵和數字鍵特殊字符
因爲你們中的許多人無疑會想知道爲什麼有人想要這樣做,所以我可以讓我的*操作符像正常一樣行爲,除非不自動前進到光標下的單詞的下一個出現處(請參見部分Highlight Matches Without Moving )。
編輯:
完整的命令我工作是這樣的:
nnoremap <*> :let @/='\<<C-R>=expand("<cword>")<CR>\>'<CR>:set hls<CR>
凡*
重新映射的*
或<shift + 8>
就是這樣!謝謝 – 2013-04-24 18:28:46
@Freedom_Ben查看':h key-notation'。在那裏沒有列出的所有東西都需要在不包圍'<…>'的情況下使用。還要注意,vim使用字節隊列來表示鍵入的鍵,並且永遠不會收到像'Shift' +'8'這樣的東西:從來沒有使用過修飾符的東西。 ''鍵是ASCII表中的一個字節控制字符,位於0x01和0x1F之間,''是' ...',而''是內部轉義序列,以0x80字節開始(在終端中,它們首先被接收爲類似' [11〜',但後來改變了)。 ''另外是'A'。你可以直接使用它。 –
ZyX
2013-04-25 04:25:09
@ZyX,感謝您的真棒解釋!這大大澄清了事情。如果您想將其作爲附加答案發布,我會將其投票。我認爲這對將來訪問這個問題的人來說也是非常有幫助的。 – 2013-04-25 16:04:11