我们经常会遇到这种情况:某处有一个多行文本,我们要把他复制到代码中用来初始化一个数组。 大部分 时候我们会这么做:
- 写好数组声明;
- 把内容复制到中括号内(大概长成下面那段文本的样子)
- 然后行首加
'
行尾加',
,重复直到最后一行(想象一下这段文本有50行)
有了 Vim 块操作就不用这么麻烦了,按
014gg
,然后跟着选中那一行的指示操作。
var myArray = [
Ctrl-v 进入块操作,$ 到行尾,j 到下一行(做!)。
按 j 到下一行
下面还好多行,干脆来个 4j 多跳几行
https://www.yahaha.net
https://www.yahaha.net
以后看好行号再跳!现在按 A 插入,然后输入 <单引号><逗号><Esc> 完成第一步。
// Oops... 跳多了,没事,按 k 回到上一行
];
现在已经完成了第一步,还需要补前面的
'
,按14gg
回到那一行,再操作一次,但是这次有三个 地方要变化一下:
- 第一行按
$
时改按0
,因为这次要在行首插入;- 末行按
A
时改按I
,块操作中A
是字符后插入,I
是字符前插入;- 最后按
<单引号><Esc>
。最后再做些收尾工作,
19gg$x
删掉最后一行结尾处的,
,然后14gg7==
把代码缩进一下。Done!
注意:选择行首行尾的操作也可以在选择完要处理的内容之后执行,即 Ctrl-v jjj$A',<Esc>
接下来我们说说 Vim 中的宏。