vim将换行符更改为空格而不是每个第n行

时间:2015-01-03 19:03:32

标签: vim newline substitution

我有一行1000行的file.txt,前10行需要在一行上。 第11行从新行开始,并添加12-20行。

我如何在 Vim!

中执行此操作

1 个答案:

答案 0 :(得分:1)

我并不是百分百确定我知道你之后的事情,但我会给你一些提示,也许他们会帮助你。

要将线连接在一起,您可以使用J(即大写字母J或Shift-J)。您可以在其前加上一个数字,例如10,并将10行连接在一起。例如,输入10J会给您:

enter image description here

现在,你真正需要的是一个宏。这听起来很奇特,但它只是一种方式或记录一组命令。例如,您可以使用10J并将其记录到宏中。重复该宏10次,然后你做100行。

我认为解决问题的方法是这样的:

qa10Jjjq99@a

这样做(见下面的解释):

enter image description here

说明:

q开始录制宏。之后输入的所有内容,直到您再次键入q将被记录下来。下一个字符a将宏记录到字符a。因此,qa qa10Jjjq99@a10Jjj记录到a。现在,要使用已存储到a的宏,请使用@符号,后跟存储宏的位置字母(在本例中为a),因为我们键入了{{} 1}})。 qa表示重复此次99次,因此,99表示重复99次存储在宏中的内容。

所有99@a表示:记录宏qa10Jjjq99@a并将其存储在q中。然后,在停止录制a之前,加入10行10J并向下移动两行jj。然后重复存储99次q的宏。