Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10908
  • 博文数量: 6
  • 博客积分: 70
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-05 03:25
文章分类
文章存档

2012年(6)

我的朋友

分类: LINUX

2012-02-08 09:10:34

vim定义快捷键注释C程序
2010-03-23 21:30
我平常用C语言,喜欢用 /*...*/ 来注释程序。

转载注明:
http://hi.baidu.com/zhuhongxu/blog/item/34d5024f3fd4ee3aafc3ab86.html

如果你编辑的是C程序,在gedit里可以用快捷键 Ctrl+M 实现(需要先在选项里开启),取消注释就是Ctrl+Shift+M。
而且gedit支持多行注释,只要你用鼠标选中先要注释的行,然后用快捷键搞定即可。

那如果在vim里该怎么办呢?

我们使用自定义快捷键来完成,在Normal模式下,= 和 - 这两个符号都没有什么作用,我们就可以用它们来作为注释快捷键。想想,只用一个按键就可以完成一行的注释,很爽吧!

编辑主目录下的 .vimrc 文件,加入这两句(不要直接拷贝,看下注意)

map = I/*^[A*/^[j 
map - ^xx$xx


注意:上面这两句里的 ^[ 不是两个字符,而是一个字符,它代表ESC键。如何输入呢?按住Ctrl不放,然后按一下V,然后按一下ESC键即可。当然,亦可以先按Ctrl+V,松开,然后按Ctrl+ESC。
如图:


然后保存退出。
以后你编辑C程序是就可以在Normal模式下,用 = 和 - 来注释和取消注释。

这两个 map 命令都比较简单,解释一下就是:
map = I/*^[A*/^[j 
定义快捷键 = ,快捷键的含义是:I 回到行首同时进入Insert模式,输入 /* 两个字符,然后用 ESC回到Normal模式, A 到达行尾并进入Insert模式,然后加入 */ 两个字符,又回到Normal模式,j 到下一行(如果你不想到下一行就可以不要这个 j )。
map - ^xx$xx
就是到达行首,x删除一个字符(两个x就是删除两个),然后 $ 到行尾,在删除两个字符。

有了这两个自定义的快捷键,以后在程序中,就可以用 = 号注释,在按 = 号就注释下一行了。可以一直按 = 号,就一直注释下去。对于注释个3、5行就是小Case了。马上取消注释可以用 u , - 号是用来取消注释其它地方的注释的。

想取消某一行的注释就在该行上按 - 号即可。如果你想取消注释后能到下一行去编辑或继续取消注释,就将上面的一二个命令改成(加个j):
map - ^xx$xxj
我想道理都明白了吧。

当然,如果你喜欢C++类型的 // 注释或其它什么类型的,就自己改命令吧,很简单哦。
总体来说呢,这两个自定义的快捷键还很粗糙,还有改进的余地
阅读(3197) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~