我试图确定同一文件中的两个代码块是否相同。有没有办法在Vi / Vim中区分两个行范围?
答案 0 :(得分:1)
我会创建两个空缓冲区(:vnew
,:new
),将两个行范围粘贴在其中,然后:diffthis
。例如,您可以定义:
:map q :vnew +put!a^M:new +put!b^M:diffthis^M^W<Down>:diffthis^M
如果要比较两个行范围,请分别选择并将它们放入寄存器a
和b
中,然后键入q
。这将垂直拆分窗口,水平拆分新窗口,在两个新窗口中粘贴寄存器a
和b
,然后区分它们。
为了简化一下,您可以:
:map q y:vnew +put!a^M:new +put!^M:diffthis^M^W<Down>:diffthis^M
,第二行范围将是当前在可视模式下选择的范围。它节省了一些按键。