您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Vim 修改、查找与替换

文本编辑器最基本的就是对进行增删改查,前面的小节我们已经讲了增删等相关以及操作。这一节我们来看一下、查找和替换。

使用过 Word 的人应该很知道,在 Word 中我们使用 ctrl+f 来查找我们需要的。但是 Word 的查找比较单一,Vim 则提供了更加丰富的查找场景:

高亮查找

大小写敏感查找

重复查找

预览查找

1. 查找

使用查找我们需要进入普通模式,普通模式如何进入前面的小节已经讲了,这里不再过多赘述。下面我们来看下针对不同的如何执行查找操作:

Tips:通模式下按下 : ,这时你会看到窗口的左下角出现了 : ,这时我们就可以输入我们要查找的了。

开启高亮查找:在左下角的 : 后面输入 set hls,即可高亮查找。

开启预览查找:在左下角的 : 后面输入 set incsearch,这时 Vim 会根据输入提前预览匹配,并且实时更新

正向扫描:在左下角的 : 后面输入/,开始从上向下。

反向扫描:在左下角的 : 后面输入?,开始从下向上。

大小写敏感查找:在左下角的 : 后面输入/\c,查找的结果会大小写不敏感。

大小写不敏感查找:在左下角的 : 后面输入/\C,查找的结果会大小写敏感。

查找小实战

随便打开查找 name/Name:

2. 与替换

经常替换操作都是简单的某个字符串替换。Vim 中提供了很多便捷的小技巧来满足需求

来看下下面这个案例:进入替换模式,替换单个字符并单个单词

3. substitute 替换命令

除了简单的快捷键替换之外。还有更加强大的命令式替换。这种方式为了处理更加复杂的场景,尤其是结合正则表达式。
substitute 是 Vim 中最常用的和替换的命令。可以缩写为 s

替换公式::[range]s[ubstitute]/{pattern}/{string}/[flags]
认情况下,s 只会作用域当前行的第匹配项。
flag选项

range 选项

实操部分

打开 main.go ,并将中的 time 全部替换为 ting:

正则表达式实战

正则表达式会在后面章节中详细讲解。这里只是针对查找场景做展示。
查找 main.go 中包含在小括号中的:

Tips: 需要注意这里查找标识符后面的\v: 这个主要为了进入 very magic 模式——也就是符合正常正则表达式规则的模式。详细部分会在后面正则表达式中详细讲解。

4. 小结

本节是工作中使用比较多的。主要难点还是在于结合正则表达式,本身的规则并不复杂。上述规则基本满足很多工作要求。Vim 很多哲学都是一脉相承的,只要融会贯通即可。


联系我
置顶