2012-06-22 149 views
1

在我的.vimrc中,我已經將#key鍵映射到一個宏,用於註釋/輸出代碼行。在vim中映射#

不幸的是#在vim中已經有一個函數 - 它向後搜索光標下方的單詞。

我現在想要的是將此功能映射到另一個按鍵序列的方法(理想情況下,我希望將Control *作爲*單獨向前搜索)。

有誰知道如何做到這一點?

非常感謝!

+0

有幾個評論插件:'NERDCommenter',它使用' c '來切換評論。另一個是'tComment',它使用'gcc'獲得相同的結果。 – epsilonhalbe

回答

2

不幸的是,Ctrl + *不能使用;我會建議\*;輸入時間更長,但向後搜索可能不常見。

:nnoremap <Leader>* # 
0

就像Ingo Karkat所說的,在vim中映射Ctrl +某些鍵是不可能的。但是,您可以映射Alt+8代替:

noremap <A-8> # 

我建議Alt+8,而不是Alt+*,因爲如果你想彎曲的情況下不自然的方式按多個組合鍵你的手來執行命令,你很可能會使用Emacs而不是Vim。

0

我用\ + Ç的評論和刪除註釋\ + d。映射如下:

:map \c <ESC>:s,^\(\s*\)[^/ \t]\@=,\1// <ESC>,e<CR>j$a 
:map \d <ESC>:s,^\(\s*\)// \s\@!,\1<ESC>,e<CR>j$a 

以上映射用於命令模式。取自SO的一個答案,目前我無法找到。