在粘贴vim中的所有内容之前复制多次

时间:2018-03-22 22:03:20

标签: vim copy-paste yank

在vim中,有没有办法复制多次,将每个内容累积到剪贴板中,然后稍后将所有内容粘贴到每个内容由换行符分隔的位置?

3 个答案:

答案 0 :(得分:6)

使用uppercase registers追加。例如,让我们清空并抽出一行来注册public class StudentViewModel { private Student _student; public StudentViewModel(Student student, int id) { _student = student; ID = id; } public int ID { get; set; } public string Name { get { return _student.Name; } set { _student.Name = value; } } public string FavoriteSubject { get { return _student.FavoriteSubject; } set { _student.FavoriteSubject = value; } } public string GPA { get { return _student.GPA; } set { _student.GPA = value; } } } ,追加一行,追加另一行,然后粘贴:

"a

"ayy "Ayy "Ayy "ap 中的标记>会在附加文本之前插入换行符。

答案 1 :(得分:4)

如果所有这些行共享一种模式,您可以:help :copy(或其最短的替代:help :t)同时使用:

:g/pattern/t<line number>

答案 2 :(得分:1)

我的.vimrc

中有这一行
nnoremap yY :let @"=@".getline('.')."\n"<CR>

yY将光标下的行添加到未命名的寄存器中。

像这样使用它: 首先按yy以在光标下划线。

然后在其他几行上按yY

最后按p将所有这些行放在某处。