常用四种模式
- 正常模式(默认)
- 编辑模式(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 从当前行选择行
Vim常用命令
原文:https://www.cnblogs.com/worthycoder/p/13714896.html