Vi/Vim 可以说是文本编辑中的一代传奇人物,直至现在,它仍然在高级程序员的武器库中占有一席之地.每个 Linux 发行版默认都包含Vim ,而且即使你不是 Linux 系统用户,你也可以安装 Vim . 为什么到现在还来讲这款古老的软件?因为它牛逼啊!它包含几乎所有功能的轻量级键盘快捷键.内置表达式搜索,以及强大而又稳定的插件生态系统.就连其他现代文本编辑器功能,如漂亮的语法高亮,它也有.你会在不知不觉中爱上这款文本编辑神器. 回到主题,我们今天就来学习 Vim 中的文本搜索和替换功能,帮助…
一. 字符串的查找 1. vim 中用 / 和 ? 来查找字符串,两者的区别是: /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母: ?string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母. 在回车之后,按n键同方向转到下一个匹配的字符串,按N键反方向转到上一个匹配的字符串. 2. 用命令 :set ic 和 :set noic 来分别设置查找时不区分和区分大小写. 如果查找特殊字符,如 ^.$.*./ 和 .,需要在前面加…
作为一个以前没怎么接触过linux的小白,开始使用linux,各种不习惯,这周遇到一个文件内容测查找和替换的需求.学习了以下几种实现方式: 1.vi命令下的查找和替换 1.1 vi下的查找 /pattern<Enter> :向下查找pattern匹配字符串 ?pattern<Enter>:向上查找pattern匹配字符串使用了查找命令之后,使用如下两个键快速查找:n:按照同一方向继续查找N:按照反方向查找pattern是需要匹配的字符串,例如:/name<Enter> …
一.vim 查找 1. 正向查找 / 与 反向查找 ? 2. 退出查找 <Esc> 3. 跳转到下一处匹配 n ,跳转到上一处匹配 N 4. /<CR> 正向跳转到相同模式的下一处匹配, ?<CR> 反向跳转至相同模式的上一处匹配 5. <Up>键浏览之前的查找记录,<Ctrl-p>查看上一条查找记录, <Ctrl-n>查看下一条查找记录 6. :noh 清除匹配结果的高亮 7. :%s///gn 统计当前模式的匹配个数 8. q/…
以前都是从头开始找,最近处理log文件很多. 在vim 中输入 :1?XXXX 1的意思是文件的第一行 ?的意思是反向查找 XXXX就是你要找的关键字 更新:Linux 从末尾开始查找日志 tac catalina.out | grep -B 2 '关键字'…
分类: 9.Linux技巧2009-09-29 13:40 1429人阅读 评论(0) 收藏 举报 ubuntujdbc 1.查找 find /home/guo/bin -name /*.txt | xargs grep 'jdbc' 查找 /home/guo/bin 目录下所有后缀为.txt 的文件(PS:/* 转义* 为统配符),通过 xargs 命令传递给 grep 作为文件参数 grep 'jdbc' 所搜显示文件中所有包含 jdbc字符串的行 2.替换 find /home/guo/b…
%s/foo/bar/g 在所有行中寻找‘foo’,并且用‘bar’替换 :s/foo/bar/g 在当前行寻找‘foo’,并且用‘foo’替换 :%s/foo/bar/gc 将每一个‘foo',并用’bar‘替换,但是替换时询问 %s/\<foo\>/bar/gc 查找单词完全匹配’foo‘替换成bar,但是替换时询问 :%s/foo/bar/gci 查找’foo‘并且替换成’bar‘但是大小写不敏感,替换时询问, :%s/foo\c/bar/gc是与上一个相同,因为\c是大小写不敏感的 使…
通常我们在使用vim的使用需要查找文档中是否含有需要的字符 1.vim 1.txt进入文档编辑 2.输入/键,再输入需要查找的字符,或者输入?键再输入需要查找的字符 3.查找到后可以enter进去,再输入N键,上下翻动,也可输入i进入编辑模式 通常我们在使用vim的时候也需要替换文档中所有匹配的字符 1.vim 1.txt进入文件,按esc键,并输入:(冒号),再输入 例子:%s#locate_put_in_for_add#locate_button_udp_for_submit#gc 标准模板…
#全文(%)查找(s)行首2个空格开头(/^ ), 替换(g)为无即删掉(//) :%s/^ //g #全文查找每行尾的2个空格,删除 :%s/ $//g…
\c 忽略大小写 \C 强制区分大小写 \v 除了_.字母.数字以为的所有字符都当做具有特殊含义的字符 \V 只有反斜杠有特殊含义 %s///gn 统计某个词出现的次数 替换的flag g 全局范围执行,及一行中所有,而不是仅仅第一处 c 确认或拒绝每一次修改 n 抑制正常的替换行为,只报告匹配的个数 & 重用上次用过的flag…