# 该模式下的常用命令
# 一个非常好用的命令========================================================
. # 重复上一步的操作
u # 恢复上一步操作
# 复制的许多命令=====================================================
yy # 复制当前光标所在的整行
Y # 和上方的yy功能一模一样
yw # 复制当前光标所在的单词
nyw # 复制光标所在的内个单词
nyy # 复制包括当前行在内的n 行
#选中命令(很好用)
v # 高亮选中当前字母, 结合 k,j,h,l 可以选中很多东西, 在结合上方的复制, 就可以方便的复制啦
V # 和上方的v用法类似,高亮选中当前光标所在行
# 粘贴命令=========================================================
p # 将会在光标所在行的下面那一行进行粘贴
c # 剪切选择的内容到剪贴板并且进入插入模式。
:reg # 展示vim 多重粘贴板的内容 和 版的名称
" # 使用多重粘贴板, 看起来没有啥效果, 但是如果有粘贴内容的话, 就可以
# 在vim的寄存器中看到剪切的内容了
# 例如:我们要拷贝当前行到寄存器b , 按 “byy
# 当前行应该已经存在了寄存器 k 里面直到你又拷贝了一些东西进入寄存器 k。
# 现在可以使用命令 “kp 来粘贴寄存器 k 里面的内容到你想要的位置。
# 光标移动=========================================================
h # 光标左移一个字母 ,如果最后一个字母后面啥也没有,那就啥反应也没有.
l # 光标右移动, 就是向右边移动一个字母, 如果后面啥也没有那就没法移动了
j # 下移, 相当于跳转到下一行
nj # 将光标向下移动n行, 并且出现在开头 例如 3j 将光标向下移动3行的开头.
k # 上移, 相当于跳转到上一行
e # 移到下一个词的行尾
w # 移到下一个词的行首
nG # 表示跳转到第n 行的行首. 注意: 一定是G
ddp # 将光标所在的行往下移动一行, 下面的移动到 光标当前所在的行
# 注意: 如果是 dd 会将光标所在的一整行都删除
xp #将当前光标对应的字符与后一个字符进行交换.
# 注意: 如果是 x 将会把光标对应的字符删除
f字母 # 将光标往接下来找, 移动到这个字母, 例如 fa 将光标移动到下一个a处
# 对于 f字母 , 可以使用 ; 进行重复操作
F字母 # 和 f 功能类似, 但是方向相反
t字母 # 将光标移动到这个字母的左边 例如: ta 表示将光标移动到下一个 a 的左边
gg # 跳转到文件第一行的开头
:$ #跳转到文件的最后一行的开头
# 删除=============================================================
dw # 删除 光标所在的那个词语
dd # 删除光标所在的那一整行
ndd #
D # 从光标所在位置开始, 包括光标对应的字符, 一直删除到本行的行尾
x # 删除当前光标所在的字母
# 检索文件内容==============================================
/要搜索的内容 回车 # 如果有查找内容的话,
# 光标会直接跳转到查找到的第一个内容开头处
# 按 n 跳转到下一个被检索到的
# 按 N 跳转到上一个被检索的
# 注意: 1. 回车完了之后其实就 已经进入输入模式了, 可以直接编辑的.
2. 区分: / 和 ?
用 /要搜索的内容 光标会直接跳转到查找到的第一个,
然后按n 再跳转到第二个, 以此类推
用 ?要搜索的内容 光标会从最后查找到的的最后那个开始,
然后按n , 再跳转到 倒数第二个, 然后,倒数第三个, 以此类推
* # 读取当前光标所在的单词, 跳转到下一个同样的单词的第一个字母处.
m字母 # 打一个标签, 例如: 当前字母处于某个单词的a处, 此时使用 ma 看起来没啥反应
# 但是当我们往后接着看文件的时候, 想要回头看这里的时候,
# 使用 `a 就可以直接跳转到这里了
`字母 # 跳转到之前打过的标签处, 注意用的是 反引号
# 替换 (其实此时需要进入行编辑模式) =================================
:%s /search/replace # % 表示所有
# s 表示查找
# search 就是 要查找的内容
# replace 将search 替换成 replace.
:n,m s/search/replace/gc # 把从第n 行到第m 行的 search 换成 replace
#g 表示替换全部
# c 表示询问, 会有提示 y,n, a, q Y 之类的
y 代表yes 表示确认替换
n 代表 no 表示不替换了
q 代表 退出
:s /search/replace/g #把当前光标所在行的search 全部替换成replace,
# 并把其他行的search高亮显示