vim几种模式下的基本快捷键
normal模式
insert模式
visual模式
v 普通光标选择
shift+v 选中整行
ctrl+v 块选择
gv : 重新选中上一次选中的部分
VIM 快速跳转
区块的跳转
区块主要包含()、[]、 {}、 #if、 /**/之间的跳转。
这些符号都是成对出现的,要在相匹配的符号对之间跳转可以直接用%即可。
在(上按%就会跳转到对应的)上,非常适合查找括号是否配对。反之,从)上按%键可以跳回对应的(上。
其他不好同理。
对于#if, 按%后会跳转到#else,再按%则跳转到#endif,再按%则跳回#if以此循环。
代码块的跳转
[[ 向前跳转到当前函数的 { 处
][向后跳转到当前函数的 } 处
[]向前跳转到上一个函数的 } 处
]]向后跳转到下一个函数的 { 处
[(表示跳转到当前区块的(处, ])表示跳到当前区块的 ) 处。这里的区块指的以括号括住的部位为一个区块。
如:
( aaa ( bb ) cc )
+—])——>
同理 [{ 和 ]} 用于函数中还有if或者循环嵌套的情况。
还有 [/ 和 ]/ 用于跳转到注释的 /* 和*/处
[# 和 ]# 用于在#if 和#else以及#endif之间跳转
帮助记忆:
第一个键是方向键
[ 表示向前跳转, ] 表示向后跳转。
第二个是功能键
[ 表示当前函数, ] 表示越过当前函数的上一个或者下一个函数。
{ 表示当前区块的 { 处, } 表示当前区块的 } 处
文件跳转:
当光标位于一下内容时:
#include "aa.h"
如果需要跳转到aa.h文件,,在有tag的情况下可以在normal模式下按g + f
即可
如果想要在新窗口打开该文件,则可以用ctrl+w f
如果想要在新的tab中打开该文件则可以用ctrl+w gf