Vim

Vim编辑神器的常用快捷命令收集

命令模式

命令 功能
u 撤销
Ctrl+r 重做
~ 当前字符切换大小写
>> 当前行向右移动一个单位
<< 当前行向左移动一个单位
== 自动缩进当前行
Ctrl+b 向下翻页
Ctrl+f 向上翻页
w 跳到下一个字首标点或单词分割
W 跳到下一个字首,长跳
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳到行首,不管有无缩进,直接跳到行首
^ 跳到行首的第一个字符
$ 跳到行尾
G 跳到文件末尾
gg 跳到文件开头
5gg 移动至第5行
fa 当前行中寻找a字符,找到了就移动到a
; 重复上一个f命令,而不用重复的输入fa
* 查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找
dd 删除文件
dw 删除当前字符到行末,D也可实现
x 删除当前的字符
X 删除前一个字符
dG 删除此行开始到文件末尾的所有行,包括此行
gg=G 自动排版,缩进等
a 在当前字符后插入
A 在行尾插入
i 在当前位置插入
I 在行首插入
o 在下一行插入
O 在上一行插入
s 删除当前字符并进入编辑模式
S 删除光标所在的行并进入编辑模式
yy 复制当前的行,Y也可实现
yw 复制当前的字段
ggyG 全部复制
ggvG 全选(高亮显示)
p 粘贴复制的内容
/abc 向后搜索字符串abc
?abc 向前搜索字符串abc
\c 忽略字母大小写,如/abc\c
\C 大小写敏感
n 下一个匹配
N 上一个匹配

多文件编辑

命令 功能
vim file1 file2… 同时打开多个文件
vim -O file1 file2 … 垂直分屏
vim -o file1 file2… 水平分屏

末行模式

命令 功能
:args 显示当前编辑的文件
:next 切换到下一个文件 前面加w是保存切换,加!是不保存切换
:prev 切换到上一个文件
:first 定位首文件
:last 定位尾文件
ctrl+^ 快速在最近的两个文件切换
:close 关闭当前窗口
:only 只显示当前窗口,关闭所有窗口
:all 打开所有窗口
:vertical all 垂直打开所有窗口
:qall 对所有窗口执行q操作
:qall! 对所有窗口执行q!操作 w操作同理
ctrl+w k,j,h,l,t,b 跳转到上、下、左、右、最上、最下的窗口
:%s/old/new/g 搜索整个文件,把old换成new