常用四种模式
- 正常模式(默认)
- 编辑模式(a,i,o)
- 命令模式(:)
- 可视化模式(v,V)
模式之间的切换
命令模式 --> (a,i,o)--> 进入编辑模式 --> (esc) -->返回正常模式
每切换一种模式必须切换到正常模式。esc即可退出当前模式
a,i,o区别
- 插入一个字符
i 当前字符之前插入 insert
a 当前字符之后插入 after
I 行首插入
A 行尾插入 - 插入一行
o 下一行插入
O 上一行插入
常用命令
- 删除
x 向后删除一个字符
X 向前删除一个字符 - 撤销
u 撤销,一直按的话,可以撤销最开始的修改的地方。最后出现:already at oldest change - 行操作
行首 home或者^
行尾 end或者$
删除一行 dd
删除n行 ndd
(n改为实际的数字即可,删除的行是从当前行开始往下删除的)
复制一行 yy
复制n行 nyy
(※复制的行数是从当前行开始往下算的)
粘贴 p
(※粘贴位置在选中行的下一行) - 剪切
先删除在粘贴
先dd 再p
或者先ndd 再p - 删除行首
d^或者dhome
(※删除所在位置的前面所有内容) - 删除行尾
d$ 或者 dend
(※删除所在位置后的所有内容)
词操作 - 删除一个单词
dw
(※前提是光标必须在单词的开头否则删除的是光标之后的字母) - 切换到下下一个单词
w - 复制一个单词
yw
块操作 - 删除光标后的所有内容
D
(※位于行首的话,则是删除一行) - 复制到行首,不包含当前字符
y^
y$ 复制到行尾(包含当前字符到最后) - 命令行模式
退出 :q
保存 :w
保存并退出 :wq
强制退出 :wq! - 查找替换
:% s/查找内容/置换内容/g
把所有查找到的内容进行置换
:x,y s/查找内容/置换内容/g
把从x行到y行的内容进行置换 - 查找内容
/要查找的内容
查找内容的下一处
n
查找内容的上一处
N - 取消高亮
:noh - 设置行号显示
:set nu - 取消行号显示
:set nonu - 调用系统信息并复制
:!系统命令
例如mac地址
:!ifconfig - 定位到指定行
最后一行 G
首行 gg
指定到第n行 :n 或者ngg 或者nG - 读取其他文件(在当前文件去读取其他文件)
:r 文件的绝对路径 - 打开多个文件(竖排排列)
vim -o 文件1 文件2 文件3
打开后切换文件 (ctrl + w) 按两次 - 横排排列
vim -O 文件1 文件2 文件3 - 自定义
.vimrc - 可视模式
v 从光标位置选择字符
V 从当前行选择行