一.vim工作模式:
二.常用命令:
1.定位命令
h、方向左键:左移一个字符
j、方向下键:下移一行
k、方向上键:上移一行
l、方向右键: 右移一个字符
$:移至行尾
0:移至行首
H:移至屏幕上端
M:移至屏幕中央
L:移至屏幕下端
gg:到第一行
G(shift+g):移到最后一行
:set nu 设置行号
:set nonu 取消行号
nG:到第n行
:n 到第n行
w 跳转到下个词首
b 跳转到下个词尾
CTRL-f :跳到下一页 (page down)
CTRL-b :跳到上一页 (page up)
2.删除命令
x 删除光标所在处字符
nx 删除光标所在处后n个字符
X 删除光标前的字符
dd 删除光标所在行
ndd 删除n行
dG 删除光标所在行到末尾的内容
D 删除从光标所在处到行尾
:n1,n2d 删除指定范围的行
3.复制和剪切
yy、Y 复制当前行
nyy、nY 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下或行上
4.替换和取消命令
r 取代光标所在字符串
R 从光标所在处开始替换字符,按ESC结束
u 取消上一步操作
5.搜索和替换命令
/string 向前搜索指定字符串 (搜索时忽略大小写 :set ic, 搜索时忽略大小写 :set noic)
n 搜索指定字符串的下一个出现位置
N(shift+n) 搜索指定字符串的上一个出现位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串
6.保存和退出命令
:w 保存修改
:w new_filename 另存为指定文件
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出
:e filename -> 打开一个文件名为filename的文件 (open file to edit)
:e! filename -> 强制打开一个文件,所有未保存的东西会丢失 (force open, drop dirty buffer)
:saveas filename -> 另存为 filename (save file as filename)
7.重做和回复
u -> undo
CTRL-r -> redo
vim的undo是树结构的,你可以回到这个结构中的任何地方
:undo 2 -> undo 到结构的2层 (undo to tree 2)
:undolist -> 显示所有的undo列表 (show undo list)
:earlier 10s -> undo到10秒前的编辑 (undo to 10 seconds ago)
:earlier 10h -> undo到10小时前的编辑 (back to 10 hours ago)
:earlier 1m -> undo到1分钟前 (back to 1 minutes ago)
8.进入到编辑模式并插入
a 在光表后插入 (append after cursor)
A 在一行的结尾插入 (append at end of the line)
i 在光标前插入 (insert before cursor)
I 在第一个非空白字符前插入 (insert before first non-blank)
o 光标下面插入一个新行 (open line below)
O 光标上面插入一个新行 (open line above)
9.多个文件的编辑
vim可以编辑多个文件,例如
vim a.txt b.txt c.txt 就打开了3个文件
:next 编辑下一个文件 (next file in buffer)
:next! 强制编辑下个文件,这里指如果更改了第一个文件 (force to next file in buffer if current buffer changed)
:wnext 保存文件,编辑下一个 (save the file and goto next)
:args 查找目前正在编辑的文件名 (find out which buffer is editing now)
:previous 编辑上个文件 (previous buffer)
:previous! 强制编辑上个文件,同 :next! (force to previous buffer, same as :next!)
:last 编辑最后一个文件 (last buffer)
:first 编辑最前面的文件 (first buffer)
10.其他常用
. 重复上次的指令
:history 查看命令历史记录
:pwd 显示vim当前文件路径
:set encoding=utf8 以utf-8编码格式打开