允许鼠标操作
在.vimrc文件里加上set mouse=a。
移动光标到第一个非空格字符
^,移动光标到当前行的第一个非空格字符。
另外,0移动光标到行首。+移动光标到下一行的第一个非空格字符,-移动光标到上一行的第一个非空格字符。
删除一个函数
假设有如下函数,
int sum() {
int total = 0;
for (int i = 0; i < 42; i++) {
total += i;
}
return total;
}
使光标位于函数体内(且光标位于for循环体外),然后da}dd。
da},删除当前光标所在”{}块”,此时函数只剩下了int sum() 行;然后,再通过dd删除这一行。
删除函数体:使光标位于函数体内,然后di}。操作完成之后,剩下的代码是int sum() {}。
拷贝一个函数
假设函数还是如上所示。
使光标位于函数体内(且光标位于for循环体外),然后va}o0y。
v,进入visual mode。
a},选择当前的“{}块”。o,改变visual mode中光标的移动方向。
0,移动光标到行首。y,拷贝。
如果函数的{是另起新行的,比如,
int sum()
{
// ...
}
那么,使用va}o-0。通过-使得光标上移一行。
删除函数声明中的参数
假设函数声明为,int sum(int a, int b)。将光标至于“()”内,然后di)可以删除“()”内所有参数。
da)可以连(和)在内一并删除。
找到匹配的{}()[]
%可以找到和光标所在的{、}、(、)、[、]相匹配的另一半。
选择文本
按v进入visual mode,然后按}或者{可以选择下一“段落”(段落就是空行隔开的文字块)或者上一“段落”。
按3j多选择下3行,或者5k去除当前选中的5行。
o,改变visual mode中光标的移动方向。