拷贝Vim中的文本到Mac OS X的系统粘贴板

2017 Feb 26

:[range]w[rite] !pbcopy

比如:.w !pbcopy把当前行写到系统粘贴板里,也就是复制当前行。 也可以选择文本后,再:w !pbcopy

:r !pbpaste,粘贴。

另外,如果vim在编译时打开了+clipboard,那么set clipboard=unnamed之后,yy之类的命令就可以直接复制到粘贴板了。

参考

vim

日常开发中常用的一些Vim操作

2017 Jan 17

允许鼠标操作

.vimrc文件里加上set mouse=a

移动光标到第一个非空格字符

^,移动光标到当前行的第一个非空格字符。

另外,0移动光标到行首。+移动光标到下一行的第一个非空格字符,-移动光标到上一行的第一个非空格字符。

删除一个函数

假设有如下函数,

int sum() {
  int total = 0;
  for (int i = 0; i < 42; i++) {
    total += i;
  }
  
  return total;
}

使光标位于函数体内(且光标位于for循环体外),然后da}ddda},删除当前光标所在”{}块”,此时函数只剩下了int sum() 行;然后,再通过dd删除这一行。

删除函数体:使光标位于函数体内,然后di}。操作完成之后,剩下的代码是int sum() {}

拷贝一个函数

假设函数还是如上所示。 使光标位于函数体内(且光标位于for循环体外),然后va}o0y

v,进入visual mode。 a},选择当前的“{}块”。o,改变visual mode中光标的移动方向。 0,移动光标到行首。y,拷贝。

如果函数的{是另起新行的,比如,

vim

Increase Number in Vim

2016 Oct 13

光标放在数字上,按Ctrl+A原数值加1;按Ctrl+X减1。

10Ctrl+A,在原数值上加10.

vim