logo

Vim 是从 vi 发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。

插入

i : 当前字符插入
I : 当前行的最前面
o : 当前行的下一行
O: 当前行的上一行
a: 当前字符后
A:行的最后面
cw: 替换从光标所在位置后到一个单词结尾的字符
shift+i/A 插入模式并移动到行首/尾
[n]O/o 行前/后插入n 次
[n]+i 插入模式重复n次

删除

x/X 删除光标下/前当个字符
dw 删除一个单词
dd:删除一行
d{hjkl} 删除到上下左右一个操作前的字符
ds=D 删除光标到行尾的字符
d^  删除光标到行首的字符
d+0 :删除到开头
d+¥ :删除到结尾
s:删除当前字符并进入插入模式
ctrl+h : 删除一个字符
ctrl+w:删除当前单词
ctrl+u :删除一行

组合删除

dd 删除当前行
{n} dd 向下删除n行
5dw 删除正向单词5个
3w 正向移动单词三次
D3w 正向删除3w 动作
2d3w    正向删除3w 动作两次

缩进

》/ :>   //右缩进
m,n> / :m>(n-m+1)    //n-m 行缩进

查找

F/f{char}  //反向/正向查找单个字符
t{char} 查找字符前一个字符
/{char} 命令行查找
f{char} :当前行上搜索
;:向后继续查找
,:向前查找
H/M/L 开头 中间 结尾

光标移动

hjkl:左下上右
w/W :移动到下一个 world/WORLD 开头
e/E :移动到下一个 world/WORLD 结尾
b/B:移动到上一个 world/WORLD 结尾
0: 零移动到行首的第一个字符
¥ :移动到末尾最后一个字符
gg/G 移动到开头和结尾

跳转

ctrl - f/F  //下一页
ctrl - b/B  //上一页
ctrl - d/u  // 向下/向上翻半页
gg  //跳转到文件首行
number gg/G  //跳转到指定的行
G               //跳转到文件最后一行

替换

s/going/rolling/g 当前行所有的going 替换成 rolling
%s/going/roling/g 匹配所有范围
shift+r/R 替换模式
r。单个字符替换
cw  修改单个单词
c$ /C 修改光标之后的字符
: % s/java/python/g :全局替换 java

复制 粘贴

d =delete =cut  //剪切
y =yank = copy  //类似复制
p/P =put = paste //粘贴到光标后/光标前
u =undo 撤销之前操作
ctrl-r =redo 重做/恢复之前的操作
yw 复制但前光标单词
y2w 复制正向两个单词
yy 复制当前光标之前

转换

~ 单个字符大小写转换
g ~ w 单词大小写转换
gU/uw 单词转换大/小写

visual 下模式

v :
V 选择行
ctrl+v:进行块状选择
d :删除
y: 复制
u:撤销操作
p:粘贴
r:替换
c:修改

多模式

:vs 横分屏
:sp 竖分屏
:set nu :显示行号
zz 把当前行放到中间
:q :退出

文件

~/.vimrc :set nu

set number
" 设置行号
syntax on
" 高亮

修改主题

:colortheme 空格 control+d 选择主题

VIM 速查卡

Green = 存活级 Yellow = 感觉良好 Orange / Blue = 高级 Red = 专家级