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]

 

posted @ 2023-06-14 10:37  童年的回忆  阅读(479)  评论(0编辑  收藏  举报
如果本博客解决了您的问题,可以微信支付宝打赏鼓励一下作者哦,在此表示感谢