拷贝Vim中的文本到Mac OS X的系统粘贴板
:[range]w[rite] !pbcopy
比如:.w !pbcopy把当前行写到系统粘贴板里,也就是复制当前行。
也可以选择文本后,再:w !pbcopy。
:r !pbpaste,粘贴。
另外,如果vim在编译时打开了+clipboard,那么set clipboard=unnamed之后,yy之类的命令就可以直接复制到粘贴板了。
...
日常开发中常用的一些Vim操作
允许鼠标操作
在.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,拷贝。
如果函数的{是另起新行的,比如,
Increase Number in Vim
How do you increase a number directly under the cursor?
光标放在数字上,按Ctrl+A原数值加1;按Ctrl+X减1。
10Ctrl+A,在原数值上加10.