最近工件中经常用到vim 所以就整理一下快捷键留着备用
set nu 显示行号
set tabstop=4 #一个tab为4个空格长度
set ai #设置自动缩进
syntax on #高亮
u 撤销
U 撤销当前行的所有修改
ctrl+r 反撤销
gg 到第一行第一个
G 到最后一行
dd 删除一行
D 删除到行尾
d10d 删除光标所在往下数10行
o 在当前行的下面另起一行,并变为插入模式
O 在当前行上面另起一行,变为插入模式
:/abc 回车 查找abc
n 下一个查找结果
N 上一个查找结果
f1 帮助文档
:q 退出
:q! 强制退出
:w 保存
:qw 保存退出
ggVG: 全选
稍微解释一下上面的命令
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
yy: 复制一行
yaw: 复制一个单词,光标在单词任意位置
ynj: 向下复制n行
ynk: 向上复制n行
P:粘贴至光标前
p:粘贴至光标后
3P:粘贴3次
s:删除一个字符,并进入编辑模式。
S:删除一整行,进入编辑模式,相当于cc。
ns:删除后面n个字符,并进入编辑模式。
dw:删除单词后面部分
db:删除单词前面部分。如果要删除整个单词(光标位于单词中间的话),可以 dbw\wdb
de:类似于dw,删除单词后面的部分(只删除到本单词结尾,dw会删除掉单词后面的空格)
dE:删除的范围包括标号在内的单词结尾。
U:会恢复一整行原先的面貌,即最原始的样子。
Y:相当于yy,不同于D与C的操作方法。
删除空行::%s/^\n$//g
//======移动======
^: 移动到行首,0也是
$:移动到行尾 3$:移动到3行后的行尾
+: 移到下一行的行首
-: 移到上一行的行首
%:跳到相对应的括号上,编程时常用
100G:跳转到100行 此时按``可以返回到原来行
50%:跳转到文件的50%处
Ctrl + G:显示当前位置
set number:设置显示行号,set nonumber:关闭显示 //或者 set nu,set nonu
:set ruler/:set noruler 设置在窗口右下角 显示/关闭 行号和列号,
ctrl+u/d 向上/下滚动半屏
ctrl+e/y 向上/下滚动一行
ctrl+b/f 向上/下滚动一屏
zz:将当前行滚动于屏幕中间,方便查看上下文 zt置顶,zb置尾
:set ignorecase 大小写不敏感
:set noignorecase 大小写敏感
:/string 查找string,回车后,按n键可以跳到下一个,N上一个,另外按/键后,按上下键可以找到以前查找的记录
?/string 同上,默认向上查找
:set hlsearch 高亮显示查找结果
:set nohlsearch 取消高亮