在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)
阅读(2246) | 评论(1) | 转发(1) |