2.0 KiB
2.0 KiB
| title | date | tags | categories | |||
|---|---|---|---|---|---|---|
| vim学习手记(2) | 2019-03-30 20:45:01 |
|
|
修改 查找 替换
大小写的转换
~- 转换当前光标所在的字符( 如果是小写就转为大写, 反之转为小写, 下同 )g~w- 当前光标之后的一个单词转换大小写
这里同样是 操作+动作 的组合方式
比如g~$就是对当前位置到行尾进行大小写转换
~表示的是小写转大写, 大写转小写
如果要全部转大写, 就是U, 全部转小写, 就是u
比如gU$就表示从当前位置到行尾全部转大写
gu$就表示从当前位置到行尾全部转小写
按下
.就是重复上一个修改操作 比如上一个操作是执行了g~w, 按下.就是再次执行转换单词的大小写
查找
/{string}是用于查找指定字符串
如果设置了ignorecase , 查找时会忽略大小写
如果设置了hlsearch, 会同时高亮所有匹配的位置
之后按Enter再按n, 就可以将光标切换到下一个匹配的位置
N是切换到上一个匹配的位置
替换(substitute)
替换需要使用命令模式执行, 也就是先输入:
格式统一为[range]s/from/to/[flags]
range是搜索范围
1,10- 表示1到10行10- 只有第10行%- 所有整篇文档10,$- 从第10行到文档末尾
flags是替换方式的标识
cconfirm 每次替换都询问eerror 不显示错误gglobal 在当前指定的范围内全局替换iignore case 忽略大小写
例如
- s/str1/str2/g - 将当前行中的str1替换为str2
- %s/str1/str2/g - 将整篇文档所有的str1替换为str2
from的位置是可以使用正则表达式的 与通用的正则元字符基本相同, 但是大部分要加
\转义 比如\d+在通用的正则结构当中表示匹配至少1个的数字 在vim当中要写作\d\+除了[]不需要,\d\+同样可以写作[0-9]\+
