文本操作无非增删改查,搜索,替换,复制粘贴,总结有如下命令(正常模式下)
九四干:Vim常用命令1之移动光标zhuanlan.zhihu.com1. 增
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
是替换后文本flag
g
(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