2012-06-22 103 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的一个答案,目前我无法找到。