在vim中,有没有办法复制多次,将每个内容累积到剪贴板中,然后稍后将所有内容粘贴到每个内容由换行符分隔的位置?
答案 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
将所有这些行放在某处。