vim 基本快捷键
光标移动
上下左右 kjhl
数字 + gg 跳到某一行
command 模式下输入行号 同样是跳到某一行
f{char} 光标跳到下一个 char 所在的位置
F{char} 光标跳到上一个 char 所在的位置
t{char} 光标跳到下一个 char 所在的位置之前
T{char} 光标跳到上一个 char 所在的位置之前
, 往前查找上次的字符
; 重复上次的字符查找操作
动作(motion)
插入
i 插入
shift + i 在行首插入
a 在光标后插入
shift + a 在行尾插入
o 在下一行开始插入
shift + o 在上一行插入
查找
/char 查找
n 往下查找
shift + n 往上查找
*同样
复制
p 在下一行复制
shitf + p 在上一行复制
行内指令
w 跳到一个单词的开头
b 跳到本单词或一个单词的开头
e 跳到本单词或一个单词的结尾
ge 跳到上一个单词的结尾
0 跳到行首
^ 跳到从行首开始的第一个非空字符
$ 跳到行尾
% 匹配括号移动,包括 ( , { , [ 需要把光标先移动到括号上
修改
dd 删除一整行
:n1,n2 d n1 和 n2 为起始行号和结束行号,删除多行操作
x 删除光标所在的字符
s 删除光标所在的字符并且进入 insert 模式
dw 删除光标所在单词以后的字符
shift + d 删除当前行内光标所在的之后的所有内容
shift + c 删除当前行内光标所在的之后的所有内容并进入 insert 模式
shift + s 删除当前行并进入 insert 模式(保持原有缩进)
行间移动
shift + g 跳到最后一行
gg 跳到第一行
行号+g 跳到某一行
:行号 跳到某一行
数字+j 快速向下移动 数字 行 (w b e hjkl 都能如此使用)
zt 把当前行移动到当前屏幕的最上方,也就是第一行
zz 把当前行移动到当前屏幕的中间
zb 把当前行移动到当前屏幕的尾部
- 切换大小写
- 将光标下的字母改变大小写
数字~ 将光标位置开始的多少个字母改变其大小写
g~~ 改变当前行字母的大小写
gUU 将当前行字母改成大写
guu 将当前行字母改成小写
gUaw(gUiw) 将光标下的单词改成大写
guaw(guiw) 将光标下的单词改成小写
tips
切换标签页
向后切换 gt
向前切换 gT
数字+gt 跳到第几个标签页
进入函数 gd
显示函数签名 gh
分屏操作
:sp 上下分屏
+s 上下分屏
:vsp 左右分屏
+v 左右分屏
crtl+w+h(l) 切换光标到不同屏幕
crtl+ww 循环切换光标到不同屏幕
+c 关闭分屏