VIM:如何粘贴一些开始行

时间:2012-03-06 16:08:52

标签: vim macvim

我想同时在文档的某些行的开头粘贴相同的文本。

[例如]
-Before -

'1','North America'
'2','South America'
'3','Europe'

-After -

INSERT INTO 'continent' ('id' ,'name') VALUES ('1','North America'
INSERT INTO 'continent' ('id' ,'name') VALUES ('2','South America'
INSERT INTO 'continent' ('id' ,'name') VALUES ('3','Europe'

请告诉我是否有办法这样做。
谢谢!

2 个答案:

答案 0 :(得分:3)

转到第一个字符, CTRL-V (切换到可视块状选择),jj(向下移动两行),I(大写字母i,开关在块之前插入),然后 CTRL-R 以显示默认寄存器的内容。当您点击ESCAPE时,您将看到您插入的文本出现在所有其他方面。

答案 1 :(得分:2)

试试这个:

:%s/^/INSERT INTO 'continent' ('id' ,'name') VALUES (/

%代表整个文件。您可以用范围替换%。例如

 :1,4s/^/INSERT INTO 'continent' ('id' ,'name') VALUES (/

只会在前4行的开头插入。