
文本操作无非增删改查,搜索,替换,复制粘贴,总结有如下命令(正常模式下)
九四干:Vim常用命令1之移动光标zhuanlan.zhihu.com
1. 增
1.1 行内插入
i光标之前插入I行首插入a光标之后插入A行末插入
1.2 行间插入
o光标下一行行首插入O光标上一行行首插入
2. 删
删除之后还是普通模式,主要有x和d
2.1 字符删除
x删除光标所在字符3x删除当前字符3次X删除光标前一个字符3X删除光标向前3个字符d一般要配合光标移动,将光标移动之间字符删掉。
例如:dl 光标向右移动一位,说明删除当前字符 dl = x;
dh 删除前一个字符,X = dh;
dw 删除当前字符到单词尾,也可以d3w 删除光标到第三单词结束;
d$,d^分别表示删除当前字符到行末,和行首
D删除当前字符到行末,D = d$
2.2 单词删除 (句子删除,段删除)
daw删除光标所在单词(包括空格)diw删除光标所在单词(不包括空格)
这里的aw 和iw 分别表示,还有其他的

2.3 行删除
合并
J删除两行之间的空行,实际上合并两行
删除一行
dd删除当前行dk删除上一行dj删除上一行
删除多行
nd删除当前行开始的n行(回车确认)ndd删除当前行开始的n行(无需回车):1,10d删除1-10行,:11,$d删除11行及所有行;:1,$d删除所有行dgg删除当前到文档开头dG删除当前行到文档尾部d1G删除当前行到文档首部 (没看明白)
2.4 搜索删除
dfc删除从光标所在处下一个c位置,两者之间(包括c)内容都被删除ftc删除从光标所在处下一个c位置,两者之间(不包括c)内容都被删除
3. 改
删除之后是插入模式
s删除光标出字符,进入插入模式S删除光标所在行,在当前行的行首开始插入文本c删除光标出字符,进入插入模式,cw,删除从光标处开始到该单词结束的所有字符,然后插入需要录入的文本
很多组合:ciw,caw....
4. 查
上一个章节已经讲过了,链接如下:
https://zhuanlan.zhihu.com/p/146496198
5. 替换
5.1 替换字符
r(replace)光标处的字符替换其他某字符,ra将光标处字符替换为a
5.2 替换文本
s(substitute) 命令允许我们查找并且替换文本,并且支持正则式
格式::[range]s[ubstitute]/{pattern}/{string}/[flags]
range%表示 全文n1, n2表示n1到n2行'<,'>表示 可视模式下选择区域后
pattern是要替换的模式,string是替换后文本flagg(global)表示全局范围内执行c(confirm)表示确认, 可以确认或者拒绝修改n(number)报告匹配到的次数而不替换, 可以用来查询匹配次数i表示大小写不敏感查找,I表示大小写敏感
6. 复制粘贴
可以用v进入可视模式,移动光标选定内容。
6.1 复制 y 即yank (提起)
y可视模式下选取的内容复制yy复制光标所在整行,3yy复制3行y^,y$复制至行首,行尾yw复制一个单词y2w复制两个单词yG复制至文末y1G复制至文本开头
6.2 剪切d 即delete
上面已经讲过
6.3 粘贴p,即put(放下)
p粘贴至光标后(下边,右边)P粘贴至光标前(上边,左边)
参考链接
- https://vimjc.com/vim-inside-around.html
- https://zhuanlan.zhihu.com/p/76787950
- https://blog.csdn.net/lanxinju/article/details/5727262