Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1690095
  • 博文数量: 410
  • 博客积分: 9563
  • 博客等级: 中将
  • 技术积分: 4517
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-03 19:59
个人简介

文章分类

全部博文(410)

文章存档

2017年(6)

2016年(1)

2015年(3)

2014年(4)

2013年(32)

2012年(45)

2011年(179)

2010年(140)

分类: LINUX

2011-05-29 20:59:39


在Vim中,在正常模式下使用*能够非常方便地对当前光标所在的单词进行搜索,但有些时候希望能够选择部分内容进行搜索,可以使用下面的步骤实现:

1. v进入可视模式。

2. 使用hjlk高亮选中希望搜索的文本。

3. 使用y命令拷贝高亮文本。

4. 输入/进入搜索命令行。

5. 按快捷键,然后输入0,粘贴最近拷贝的内容。

6. 回车就能够实现对选择部分内容进行搜索了。

如果觉得上面的步骤太麻烦,也可以把下面这部分内容加到你的vimrc中,能够实现在可视模式下使用*和#对当前高亮的内容进行正向、逆向搜索。


" 对选中文本进行*正向、#逆向搜索

vnoremap * :

    \let old_reg=getreg('"')let old_regtype=getregtype('"')

    \gvy/=substitute(

    \escape(@", '/\.*$^~['), '\_s\+', '\\_s\\+', 'g')

    \gV:call setreg('"', old_reg, old_regtype)

vnoremap # :

    \let old_reg=getreg('"')let old_regtype=getregtype('"')

    \gvy?=substitute(

    \escape(@", '?\.*$^~['), '\_s\+', '\\_s\\+', 'g')

    \gV:call setreg('"', old_reg, old_regtype)

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

29091572011-05-29 22:01:58