三种模式
# 命令模式
vim 文件名
# 插入模式
按a/i/o 进行插入模式
按esc 重新进入命令模式
# 编辑模式
按:(冒号)进入编辑模式
插入命令
命令 |
作用 |
a |
在光标所在字符后插入 |
A |
在光标所在行尾插入 |
i |
在光标所在字符前插入 |
I |
在光标所在行首插入 |
o |
在光标下插入新行 |
O |
在光标上插入新行 |
设置行号
前提: 处于编辑模式
# 设置行号
:set nu
# 取消行号
:set nonu
定位首行和末行的行首
前提: 处于命令模式
# 跳到首行的行首
gg
# 跳到末行的行首
G
跳到指定的行首
前提: 处于命令模式
# 跳到第22行的行首
22G
前提: 处于编辑模式
# 跳到第22号行首
:22
在某一行下,移动光标到行首或行尾
前提: 处于命令模式
# 移动到行首
0
# 移动到行尾
$
删除命令
命令 |
作用 |
x |
删除光标所在处字符 |
nx |
删除光标所在处后n个字符 |
dd |
删除光标所在行 |
ndd |
删除贯标所在处n行 |
dG |
删除光标所在行到文件末尾内容 |
D |
删除光标所在行到文件末尾内容 |
:n1,n2d |
删除指定范围的行 |
# 删除999到1006行的内容
前提: 处于编辑模式
:999,1006d
上面的命令删除了8行,包含999行和1006行
复制和剪切命令
命令 |
作用 |
yy |
复制当前行 |
nyy |
复制当前行以下n行 |
dd |
剪切当前行 |
ndd |
剪切当前行以下n行 |
p/P |
粘贴在当前光标所在行下(p)或行上(P) |
替换和取消命令
命令 |
作用 |
r |
取代光标所在处字符 |
R |
从光标所在处开始替换字符,按ESC技术 |
u |
取消上一步操作 |
搜索和搜索替换命令
命令 |
作用 |
/string |
搜索指定字符串.搜索时忽略大小写:set ic 搜索时大小写敏感:set noic |
n |
搜索指定字符串的下一个出下位置 |
:%s/old/new/g |
全文替换指定字符串 |
:n1,n2s/old/new/g |
在一定范围内替换字符串 |
替换是/g是不询问确认,/c是询问确认
保存和退出命令
命令 |
作用 |
:W |
保存修改 |
:W new_filename |
另存为指定文件 |
:wq |
保存修改并退出 |
ZZ |
快捷键,保存修改并退出 |
:q! |
不保存修改退出 |
:wq! |
保存修改并退出(文件所有者及root可用,强制保存) |