Chinaunix首页 | 论坛 | 博客
  • 博客访问: 370639
  • 博文数量: 83
  • 博客积分: 2213
  • 博客等级: 大尉
  • 技术积分: 835
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-16 20:26
文章分类

全部博文(83)

文章存档

2015年(1)

2012年(1)

2011年(14)

2007年(20)

2006年(47)

我的朋友

分类: LINUX

2012-01-10 11:11:56

调试代码的时候,免不了要批量注释/取消代码注释,很多IDE都有快捷键将你选中的代码块批量注释/取消注释的功能,那么在Vim里面如何完成这个功能呢?

方法一 块选择模式

批量注释:

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的I进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,Vim会自动将你选中的所有行首都加上注释

取消注释:

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释

方法二 替换命令

批量注释:

使用下面命令在指定的行首添加注释:

:起始行号,结束行号s/^/注释符/g

取消注释:

:起始行号,结束行号s/^注释符//g

例子:

在10 - 20行添加 // 注释

:10,50s#^#//#g

在10 - 20行删除 // 注释

:10,20s#^//##g

 

在10 - 20行添加 # 注释

:10,20s/^/#/g

在10 - 20行删除 # 注释

:10,20s/^#//g

注意例子中正则的分割符使用的是相反的符号,如果匹配// 那么使用 #作分隔符这样不需要对/作转义处理,节省输入次数


Cut copy paste in vim

Cut 的等效快捷键
dd delete current line
D delete from cursor to end of line
d$ delete from cursor to end of line
d0 delete from cursor to beginning of line
dw delete from cursor to end of current word
db delete from cursor to beginning of current word

Copy 的等效快捷键
Y or yy copy (yank) one line
2Y copy two lines
10Y copy 10 lines
yG copy all lines to the end of the file
yw copy text from the current cursor position to the end of the word
y$ copy text from the current cursor position to the end of the line

Paste 的等效快捷键
P paste above the current cursor position
p paste below the current cursor position

阅读(2364) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

todaynet2012-10-12 16:13:17

hebingyue: 在10 - 20行删除 # 注释
:10,20s/^/#/g
有问题吧?.....
非常感谢,是有问题,已纠正过来了。

hebingyue2012-01-11 10:20:37

在10 - 20行删除 # 注释
:10,20s/^/#/g
有问题吧?