在vim中映射#

时间:2012-06-22 20:43:14

标签: vim keymapping

在我的.vimrc中,我已将#-key映射到一个宏,用于注释掉/代码行。

不幸的是,vim中的#已经有了一个函数 - 它向后搜索光标下面的单词。

我现在想要的是一种将此功能映射到另一个键序列的方法(理想情况下,我希望将Control- *作为*单独向前搜索)。

有谁知道如何实现这个目标?

非常感谢!

3 个答案:

答案 0 :(得分:2)

不幸的是, Ctrl + * 无法使用;我建议 \ * ;键入的时间更长,但向后搜索可能并不常见。

:nnoremap <Leader>* #

答案 1 :(得分:0)

像Ingo Karkat所说,在vim中映射Ctrl +某些键是不可能的。但是,您可以改为映射Alt+8

noremap <A-8> #

我建议使用Alt+8代替Alt+*,因为如果您想以不自然的方式弯曲手按多个修改键来执行命令,那么您可能会使用Emacs而不是Vim。

答案 2 :(得分:0)

我使用 \ + c 进行评论,使用 \ + 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上的一个答案,我目前无法找到。