linux的vim查找的正则表达式,VIM 正则表达式搜索字符串
在插入模式下,为了减少重复的击键输入,VIM 提供了若干快捷键,当你要输入某个上下文曾经输入过的字符串时,你只要输入开头若干字符,使用快捷键,VIM 将搜索上下文,找到匹配字符串,把剩下的字符补全,你就不必敲了。这样,编程序时你起多长的变量名都没关系了,:-) 而且还可以减少输入错误。我认为,插入补全是 VIM 最为突出的一项功能。
i 向上搜索,补全一个词。例如,上文中出现过 filename 这个词,当你想再输入 filename 时,只要按 f 即可。假如 VIM 向上搜索,找到以 f 开头的第一个匹配不是 filename,你可以继续按 搜索下一个匹配进行补全。当然,如果你想一次 就成功,你可以多输入几个字符比如 filen 再按 补全
i 向下搜索,补全一个词
i 补全一行。比如你写过一行 for (int i = 0; i < 100; i++),你想再写一模一样的一行,只要输入 for 即可。如果补全出来的不是你想要的那一行,你可以按 或 选择上一个或下一个匹配行
i 在文件系统中搜索,补全一个文件名
如果按 或 补全一个词,在当前文件中没有找到匹配,VIM 将搜索 #include 语句中的文件,而文件的位置将在 path 中搜索。
搜索字符串用的是正规表达式(Regular expression),其中许多字符都有特殊含义:
\ 取消后面所跟字符的特殊含义。比如 \[vim\] 匹配字符串“[vim]”
[] 匹配其中之一。比如 [vim] 匹配字母“v”、“i”或者“m”,[a-zA-Z] 匹配任意字母
[^] 匹配非其中之一。比如 [^vim] 匹配除字母“v”、“i”和“m”之外的所有字符
. 匹配任意字符
* 匹配前一字符大于等于零遍。比如 vi*m 匹配“vm”、“vim”、“viim”……
\+ 匹配前一字符大于等于一遍。比如 vi\+m 匹配“vim”、“viim”、“viiim”……
\? 匹配前一字符零遍或者一遍。比如 vi\?m 匹配“vm”或者“vim”
^ 匹配行首。例如 /^hello 查找出现在行首的单词 hello
$ 匹配行末。例如 /hello$ 查找出现在行末的单词 hello
\(\) 括住某段正规表达式
\数字 重复匹配前面某段括住的表达式。例如 \(hello\).*\1 匹配一个开始和末尾都是“hello”,中间是任意字符串的字符串
对于替换字符串,可以用“&”代表整个搜索字符串,或者用“\数字”代表搜索字符串中的某段括住的表达式。
举一个复杂的例子,把文中的所有字符串“abc……xyz”替换为“xyz……abc”可以有下列写法:
:%s/abc\(.*\)xyz/xyz\1abc/g
:%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g
其它关于正规表达式搜索替换的更详细准确的说明请看 :help pattern
例如:在文本中搜索所有包含amount大于0的以[ ] 括住的字符串的行,如 “amount[123]“, ”amount[200]“ 等:
首先按 :进入命令 模式,然后输入下面的串再回车开始查找:/amount\[[1-9]\([0-9]*\)\+\]
解释如下:
/ 表示进行串搜索, 其它字符为 正则表达式的内容
amount 表示匹配串包含amount
\[ 转义字符,表示匹配左中括号 [
[1-9] 表示匹配一位1到9之间任何数字
\( \) 转义的左右括号,表示括住某段正则表达式,
\+ 转义字符+,表示前面一个字符或一个正则串重复1次或多次,所以,\([0-9]*\) 表示 任意个0-9之间的数字
\] 转义字符 ]
linux的vim查找的正则表达式,VIM 正则表达式搜索字符串相关推荐
- python 搜索pdf文件中的文字_使用python查找pdf文档中搜索字符串位于哪一页
我终于发现pyPDF可以帮上忙.我把它寄出去,以防它能帮助别人. (1)定位字符串的函数def fnPDF_FindText(xFile, xString): # xfile : the PDF fi ...
- 菜鸟教程python正则表达式_Python 正则表达式
Python 正则表达式 正则表达式是搜索模式形成的字符序列. 它可用于检查字符串是否与某种字符匹配的搜索模式. RegEx模块 Python有一个内置的包re,可以用来处理正则表达式. 导入re模块 ...
- [倚天屠龙记] vim 查找与替换(正则表达式)
[倚天屠龙记] vim 查找与替换(正则表达式) {{{ 正则表达式是文本处理领域中的一个强大的工具,它可以让文本处理的能力呈指数级的提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代 ...
- VIM 正则表达式搜索字符串
From: http://blog.csdn.net/fengxinze/article/details/6870106 在插入模式下,为了减少重复的击键输入,VIM 提供了若干快捷键,当你要输入某个 ...
- linux vim 怎么查找,linux下vim 查找命令
linux下vim 查找命令: /text --查找text, 按n查找下一个, N查找上一个 ?text --查找text(反向查找), 按n查找下一个, N查找上一个 */# --查找光标当前的单 ...
- linux vi查找字符串查找字符串,vim查找字符串的方法_vim查找替换的方法
vim是什么? Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自 ...
- centos7 vim查找_如何在 Vim/Vi 中快速查找和替换文本内容
Vim 是 Vi 多模式命令行编辑器的加强版,通常默认的Unix或Linux系统中都默认自带Vi命令编辑器.当然,为了更好的体验,如果系统默认没有安装Vim,建议安装Vim. 通过本文的讲解,你将学会 ...
- [倚天屠龙记] vim 查找与替换(简单查找)
[倚天屠龙记] vim 查找与替换(简单查找) {{{ 搜索与替换是文本编辑器的最重要的功能之一,也是其能力的一个缩影. 接下来用几节的篇幅重点叙述vim的查找与替换功 ...
- 在Linux下使用Vi进阶编辑器Vim编译C/C++
Vim – 编辑器之神 历史与争端 Vim 的前身是 vi,一个简洁但是略有不足的编辑器,但是从 vi 开始,编辑器的模式区分和唯快不破的思想就已经体现的很到位了.Vim 即是 vi improved ...
最新文章
- Python递归获取文件夹下面所有文件名字:
- 使用Jmeter至WebService压力测试
- 怎样才算熟悉python-怎样才算学会Python
- c+和python哪个快-C/C++比python快是什么意思?
- Fescar 全局锁介绍
- 第四届西安邮电大学acm-icpc校赛 流浪西邮之寻找火石碎片 多体积条件背包
- Electron学习-创建一个程序
- Linux信号量之用户态信号量(Posix信号量->无名信号量)
- 在ubuntu用arm ds-5社区版配合linaro交叉编译工具开发android linux应用
- 2020年阴阳师服务器维护,2020阴阳师2月19日更新官方公告及内容汇总
- 3d制作中需要注意的问题_珠宝首饰工艺篇-戒指3D造型设计制作注意要点
- 人月神话读感/摘抄 四
- 2 如何设置窗口title_如何正确的知晓生僻字发音?无需字典查询,2步手机设置轻松搞定...
- 初解vue脚手架vue-cli,及demo示例(一)
- 以前看书时记得一些笔记(二),很早了,现在再看都有些看不懂了
- 附件 计算机 丢失,帮你找回Win7开始菜单附件丢失的工具
- 阿里云 CentOS 7.4 下部署基于 Node.js 的微信小程序商城
- Fliqlo:一款精致高逼格的翻页时钟屏保软件
- 国外计算机核心期刊易读,国内英语写作研究现状的文献综述——对十大外语类核心期刊近五年(2012-2016)的统计分析...
- 深入理解机器学习——类别不平衡学习(Imbalanced Learning):常用技术概览
热门文章
- USACO Broken Necklace模拟
- JZOJ5937. 【NOIP2018模拟10.30】斩杀计划
- java mysql 项目_mysql数据库如何实现与Java项目连接
- Windows10搜索不到共享电脑的四种解决方法
- LabVIEW编程LabVIEW开发如何沟通需求
- 计算机图像识别在食品中的应用,舌尖上的AI,人工智能在食品中的应用
- xp系统无法访问服务器共享文件夹,彻底解决局域网XP系统无法访问Win7或Win8共享文件(文件夹)图文教程...
- 初学者怎么用js写选项卡_初学者极客:我的PC是否需要图形卡?
- opencv基础篇3讲(二)-色彩空间转换像素运算ROI与泛洪填充
- javascript的递归函数