vim常用快捷键
跳转到指定行:
18gg 或者 18G
或者在命令模式下输入:18回车
#18可替换成任意行号
在一个文件中快速选取一个方法所有内容:
方案1:
光标悬停在方法内部
1.V
2.a {
3.o
4.ip(向上选取)
# 大V,进入行级选择模式,
# a{ 选中 光标所在的{}的所有内容并且包含光标本身
# o 可以在行选择模式下进行首尾切换
# 切换到上方后,按上箭头扩大选取方法名和注释
方案2:
光标悬停在方法的终止大括号处 1.v 2.%
3.ip(向上选取) # % 在匹配的括号间跳转
方案3
光标悬停在方法内 1.vip 2.ip (如果方法内部有空行,就继续ip补全为止)
移动光标操作(motion)
w(word) 移动到下一个单词开头 e(end) 移动到下一个单词结尾 b(backword) 移动到上一个单词开头 移动到行首和行尾 ^ (移动到行字符开头) $ (移动到行字符结尾) 0 (移动到行开头) 在本行中查找下一个字符 f<字符> (find简写)
% 在匹配的括号间跳转
# 高亮光标所在的变量的所有使用处 | 在函数和调用者直接跳转
操作符 (operator)
d (删除) c (删除后进入编辑模式) y (复制) = (格式化) gu (大写转小写) gU (小写转大写) zf 、zd (折叠代码)
删除一个单引号内的所有字符:
1.光标悬停在单引号内,
2.di' 或者 diw #d删除, i' 选中单引号内的所有内容不包含单引号 #d删除, iw 选中光标所在的整个词
删除光标处前的整个单词:
db
#d删除,b移动到上一个单词的开头
复制上下有空行的代码段:
yip
#y复制,ip 选中整个段落(有空行即段落边界),不包含空行
vim中代码块的折叠与恢复:
光标悬停在方法的起始大括号处, zf% 折叠
光标悬停在折叠行上, zd 恢复
取消查找后的高亮显示
:noh
分屏模式开发:
使用大写的O参数来垂直分屏。 vim -On file1 file2 ... 使用小写的o参数来水平分屏。 vim -on file1 file2 ... 上下分割当前打开的文件。 Ctrl+w s 上下分割,并打开一个新的文件。 :sp filename 左右分割当前打开的文件。 Ctrl+w v 左右分割,并打开一个新的文件。 :vsp filename 移动光标 Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W 把光标移到右边的屏。 Ctrl+w l 把光标移到左边的屏中。 Ctrl+w h 把光标移到上边的屏中。 Ctrl+w k 把光标移到下边的屏中。 Ctrl+w j 把光标移到下一个的屏中。. Ctrl+w w 注:也可以按住ctrl键,同时按下两次w键
小退vim,运行命令后再回到刚才的vim编辑状态:
ctrl+z (小退) do some thing.. fg 回车 (切回vim)
对一个函数的代码格式化:
光标悬停到函数内:= a { # = 格式化 # a{ 对花括号内的所有内容
打标记
打标记 : m[a-z]
回到标记点 : `[a-z]