vi/vim的相关命令练习总结如下,常用的命令也就是复制,剪切,粘贴,撤销,重做,搜索等。本文主要是按照自己的想法,参照https://vim.rtorr.com/lang/zh_cn 文章的内容进行验证记录的,在此向此文的作者和翻译者表示感谢,其他参考的内容见参考链接,这些是高质量的文章。
编辑命令
复制
y
:复制选定的内容。yy
或者Y
:复制当前行。y2
:复制当前行以及当前行往下移动两行的内容。y^
:复制当前位置之前当行头的内容,不包括当前位置。y$
:复制当前位置到行尾的内容,包括当前位置。yG
:当前位置复制到文档末尾,ynG
或者nyG
其中n为数字表示从第n行复制到文档末尾。nyy
或者yny
:复制n行内容,其中n为数字。yw
:复制单词,ynw
或者nyw
其中n为数字表示复制n个单词。命令行模式 :start,end copy target
:复制指定范围内容的数据到指定的位置,:15,20 copy 30 把15 到20行的内容复制到30行。
剪切和删除
d
:剪切光标指定位置d←
或者d→
。dw
:剪切光标处单词(不包含标点)d^
:剪切当前位置到行头的内容,不包括当前位置。d$
:剪切当前位置到行尾的内容,包含当前位置。dd
:剪切当前行。ndd
者dnd
:剪切n行内容,n为数字。dG
:剪切当前行到文档末尾的内容。x
:剪切当前字符。s
:删除当前字符, 然后进入插入模式。S
:清空当前行, 然后进入插入模式。cc
:将光标所在的行删除, 然后进入插入模式。C
或者c$
:将光标处到行尾删除, 然后进入插入模式。ciw
或者caw
:将光标所在的单词删除, 然后进入插入模式。cw
:从光标位置开始, 修改单词(即从光标位置删除到单词末尾),然后进去编辑模式。
粘贴
p
:在光标后粘贴P
:在光标签粘贴
撤销和恢复
u
:撤销编辑内容。ctrl r
:恢复编辑内容。
选择文本(可视化模式)
v
:进入可视化模式, 移动光标高亮选择, 然后可以对选择的文本执行命令。V
:进入可视化模式(行粒度选择)。Ctrl v
: 进入可视化模式(矩阵选择/块选择)。o
:可视化模式下切换光标到选择区开头/结尾。O
:可视化模式下切换光标到选择区的角,效果和o
类似。aw
:可视化模式下选择单词。ab
:可视化模式下选择被 () 包裹的区域(含括号)。aB
:选择被 {} 包裹的区域(含花括号)。
移动
↑ ↓ ← →
:方向键移动光标。h
:向左移动光标。l
:向右移动光标。j
:向下移动光标。k
:向上移动光标。H
:光标移动到页面顶部。M
:光标移动到页面中部。L
:光标移动到页面底部。w
:移动到下个单词开头(单词不包含标点,如hello.算作是两部分)W
:移动到下个单词开头(单词含标点,如hello.算作是一个整体)。e
:移动到下个单词结尾。E
:移动到下个单词结尾(单词含标点)。b
:移动到上个单词开头。B
:移动到上个单词开头(单词含标点)。0
:移动到行首。^
:移动到行首的非空字符。$
:移动到行尾的非空字符。g_
:移动到行内最后一个非空白符。gg
:移动到文件第一行。G
:移动到文件最后一行。ngg
或者nG
:移动到指定行,其中n为数字,如5gg。
替换合并
r
:替换当前字符。R
:进入替换模式,连续替换多个字符。J
:将下一行合并到当前行, 并在两部分文本之间插入一个空格。gJ
:将下一行合并到当前行, 两部分文本之间不含空格。
编辑插入
i
:从光标前开始插入字符,进入插入模式。I
:从行首开始插入字符,进入插入模式。a
:从光标后开始插入字符,进入插入模式A
:从行尾开始插入字符,进入插入模式o
:在当前行之下另起一行, 开始插入字符,进入插入模式。O
:在当前行之上另起一行, 开始插入字符,进入插入模式。ea
:从当前单词末尾开始插入,进入插入模式。Esc
:退出编辑模式,进入命令模式。
搜索和替换
/pattern
:命令模式下输入/
以及搜索内容,向下搜索。?pattern
:命令模式下输入?
以及搜索内容,向上搜索。n
:查找下一个。N
:查找上一个。:%s/old/new/g
:全局替换匹配字符。:%s/old/new
:替换所有行的第一个匹配字符。:s/old/new
:替换当前行的第一个匹配字符。:n,ms/old/new
:替换指定行范围的匹配字符,其中m和n为数字。
g--全局
i--大小写不敏感
I--大小写敏感
c 大小写不敏感
保存退出
:w
:保存。:q
:退出。:wq
或者:x
或者ZZ
:保存并退出。:q!
或者ZQ
:不保存强制退出。:w !sudo tee %
:使用 sudo 保存当前文件。:e 文件名
:新建文件。:w 文件名
:当前文件重命名。
菜单命令
- 设置行号:命令行模式
set number
。
参考
1.史上最全Vim快捷键键位图
2.https://vim.rtorr.com/lang/zh_cn
3.https://github.com/dofy/learn-vim
4.https://vim.wxnacy.com/
5.http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html