打开和新建文件
- 在终端中输入
vim
+ 要打开的文件名即可
vim 文件名
- 如果文件名已存在,会直接打开一个文件;如果文件名不存在,会在当前路径创建一个新文件
打开文件并且定位到某行
vim 文件名 +行数
# 如果只带上+号而不指定行号,则直接定位到文件末尾
# 如果不带+号,也不指定行号,则直接定位到文件首位
三种工作模式
1.命令模式:打开文件夹首先进入的是命令模式,在该模式下可以实现图形编辑器下通过鼠标或快捷键实现的操作,如:定位、翻页、复制、粘贴、删除等。
2.末行模式:主要执行保存、退出等操作。
3.编辑模式:进行文本编辑操作。
末行模式常用命令
1.文件保存于退出
命令 | 英文 | 功能 |
---|---|---|
w | write | 保存 |
q | quit | 退出,未保存时不允许退出 |
q! | qiut! | 强行退出,不保存 |
wq | write&quit | 保存并退出 |
x | 保存并退出 |
2.文件
命令 | 英文 | 功能 |
---|---|---|
e . | edit | 打开内置文件浏览器,浏览当前目录下的文件 |
n 文件名 | new | 新建文件 |
w 文件名 | write | 另存为当前文件,但仍然编辑当前文件 |
3.分屏命令
使用分屏命令同时编辑和查看多个文件
命令 | 英文 | 功能 |
---|---|---|
sp [文件名] | split | 横向增加分屏 |
vsp [文件名] | vertical split | 纵向增加分屏 |
切换分屏窗口
命令 | 英文 | 功能 |
---|---|---|
w | window | 切换到下个窗口 |
r | reverse | 翻转窗口 |
c | close | 关闭当前窗口,但如果仅剩一个窗口,则无法关闭 |
q | quit | 退出当前窗口,如果仅剩一个窗口,则关闭vim |
o | other | 关闭其它窗口 |
命令模式常用命令
1.上下左右移动
命令 | 功能 | 手指 |
---|---|---|
h | 向左 | 食指 |
j | 向下 | 食指 |
k | 向上 | 中指 |
l | 向右 | 无名指 |
2.行内移动
命令 | 英文 | 功能 |
---|---|---|
w | word | 向后移动一个单词 |
b | back | 向前移动一个单词 |
0 | 行首,包括空白符 | |
^ | 行首,空白符不算 | |
$ | 行尾 |
3.行数移动
命令 | 英文 | 功能 |
---|---|---|
gg | go | 文件顶部 |
G | go | 文件末尾 |
数字gg | go | 移动到数字对应行数 |
数字G | go | 移动到数字对应行数 |
:数字 | 移动到数字对应行数 |
4.屏幕移动
命令 | 英文 | 功能 |
---|---|---|
Ctrl + b | back | 向上翻页 |
Ctrl + f | forward | 向下翻页 |
H | Head | 屏幕顶部 |
M | Middle | 屏幕中间 |
L | Low | 屏幕底部 |
5.段落移动
命令 | 功能 |
---|---|
{ | 上一段 |
} | 下一段 |
6.括号切换
命令 | 功能 |
---|---|
% | 括号匹配及切换 |
7.标记
命令 | 英文 | 功能 |
---|---|---|
mx | mark | 添加标记x,x为英文字母的大写或小写 |
'x | 直接定位到x所在位置 |
8.选中文本(可视模式)
命令 | 模式 | 功能 |
---|---|---|
v | 可视模式 | 从光标位置开始,按正常模式选中文本 |
V | 可视行模式 | 选中光标经过的完整行 |
Ctrl+v | 可视块模式 | 垂直方向选中文本 |
9.撤销与恢复撤销
命令 | 英文 | 功能 |
---|---|---|
u | undo | 撤销上次命令 |
Ctrl+r | redo | 恢复撤销 |
10.删除文本
命令 | 功能 |
---|---|
x | 剪切 |
d(移动命令) | 删除移动命令对应的内容 |
dd | 删除光标所在行,ndd可以删除多行 |
D | 删除至行尾 |
# 常用的删除命令
dw # 从光标位置删除到单词末尾
d0 # 从光标位置删除到一行的起始位置
d} # 从光标位置删除到段落结尾
d+代码行号+G # 从光标所在行删除到指定代码行号间所有代码
d'x # 从光标所在行删除到标记所在位置
11.复制和粘贴
命令 | 英文 | 功能 |
---|---|---|
y(移动命令) | copy | 复制 |
yy | copy | 复制一行,nyy复制多行 |
p | paste | 粘贴 |
12.替换
命令 | 功能 | 工作模式 |
---|---|---|
r | 替换当前字符 | 命令模式 |
R | 替换当前行光标后的字符 | 替换模式 |
13.缩排和重复执行
命令 | 功能 |
---|---|
>> | 向右增加缩进 |
<< | 向左减少缩进 |
. | 重复上次命令 |
14.查找命令
- 常规查找
命令 | 功能 |
---|---|
/str | 查找str |
- 查找到指定内容后使用next查找下一个出现的位置。n:查找下一个;N:查找下一个。随便查找一个不存在的内容取消高亮显示。
- 单词快速匹配
命令 | 功能 |
---|---|
* | 向后查找当前光标所在单词 |
# | 向前查找当前光标所在单词 |
15.查找并替换
1.全局替换: # :%s/旧文本/新文本/g #一次替换文件中所有出现的旧文本
2.可视区域替换: # :s/旧文本/新文本/g #替换可视模式下选中范围中所有出现的就文本
3.确认替换: # :%s/旧文本/新文本/gc #替换前需要确认是否替换
在vim中除了使用 i 加入编辑模式外,还有以下几个常用加入编辑模式的命令。
命令 | 英文 | 功能 |
---|---|---|
i | insert | 在当前字符前插入文本 |
I | insert | 在行首插入文本 |
a | append | 在当前字符后添加文本 |
A | append | 在行末添加文本 |
o | 在当前行后面插入一行 | |
O | 在当前行前面插入一行 |