文章目录
1 命令模式
1.1 光标移动
- 按相同类型的“单词”的连续字符移动
hjkl
:上下左右w/W
:word,按“单词”向右移动,移动到单词头e/E
:end,按“单词”向右移动,移动到单词尾b/B
:back,按“单词”向左移动,移动到单词头- 通用用法:数字+移动命令=移动数字次
0
:移动到绝对行行首^
:移动到当前行行首$
:移动到行尾- 按行移动
gg
:首行G
:末行数字+gg/G
、:数字
:移动到指定数字行
1.2 内容操作
[数字]+操作命令+移动命令
- 复制:
y
(yank)5yw
:从当前光标位置开始向后复制5个“单词”,若当前光标是空白,则此空白也会被当作一个“单词”y$
:从当前光标位置复制到行尾y^
:从当前光标位置复制到行首y0
:从当前光标位置复制到绝对行行首yy
:复制当前行5yy
:向下复制5行
- 剪切:
d
(delete)dw
:从当前光标剪切到“单词尾”,若当前光标是空白,则此空白会被剪切5dw
:从当前光标位置开始向后剪切5个“单词”,若当前光标是空白,则此空白也会被当作一个“单词”d^
:从当前光标位置剪切到行首d$
:从当前光标位置剪切到行尾dd
:剪切当前行5dd
:剪切5行x
:可单独使用,剪切当前光标所在位置的内容,相当于dl
- 粘贴:
p
(paste)p
:粘贴到光标之后,appendP
:粘贴到光标之前,insert
- 撤销:
u
(undo) - 反撤销:
ctrl+r
(recover)
1.3 作为其他模式入口
- 编辑模式:
a/A
:append,追加,在光标之后输入i/I
:insert,插入,在光标之前输入o/O
:above,换行输入
- 选择模式:
v
:选择V
:行选择ctrl+v
:块选择,多行同时复制相同位置的内容
- 替换模式:
r
:替换当前光标内容R
:进入连续替换模式
- 窗口模式:
ctrl+w
,s
:分屏ctrl+w
,↑/↓
:光标移动到上/下一个窗口
- 末行模式:
:
:末行命令模式- 搜索
?
:向前搜索/
:向后搜索
2 编辑模式
3 替换模式
4 窗口模式
5 扩展(末行)模式
5.1 对文件操作
:w [FILE]
- 保存
- 另存为
:q
:退出:q!
:强制退出(不保存):wq
、:x
:保存并退出:e FILE
:eidt,打开文件
5.2 选项配置
:set all
:查看vi当前所有选项:set number/nu
:显示行号:set autoindent/ai
:自动缩进set ignorecase/ic
:忽略大小写:nohl
:取消高亮(用于搜索后)- 使配置永久生效:将选项写入配置文件
~/.vimrc
中
5.3 搜索
/NAME
:从当前字符开始往下搜索?NAME
:从当前字符开始往上搜索
5.4 替换
:%s/OLD/NEW/g
:%
替换本文件的所有行g
替换行中出现的每一个pattern
6 批量添加注释
6.1 块选择模式
-
批量注释:
ctrl+v
进入块选择,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,vim 会自动将你选中的所有行首都加上注释 -
取消注释:
ctrl + v
进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释
6.2 替换命令
- 批量注释:
:起始行号,结束行号s/^/注释符/g
- 取消注释:
:起始行号,结束行号s/注释符//g