我一般不使用Vim的列编辑模式。
但我很好奇我是否能做到这一点。
假设我有这样的文件。
KE987 ICN
Seoul/Incheon(Incheon)
30MAY2021(Tue) 13:20 (Local Time)
Terminal No : 2
LHR
London(Heathrow)
30MAY2021(Tue) 17:25 (Local Time)
Terminal No : 4
使用可视化列尾模式,我可以制作这样的文件吗?我的意思是复制底部 4 行并将它们放在顶部 4 行的右侧。
KE907 ICN LHR
Seoul/Incheon(Incheon) London(Heathrow)
30MAY2021(Tue) 13:20 (Local Time) 30MAY2024(Tue) 17:25 (Local Time)
Terminal No : 2 Terminal No : 4
这当然是可能的,但有一些注意事项:
<C-v>
进入视觉块模式。$
水平扩展所选内容以包括整个行。d
剪切视觉选择。A
进入行尾插入模式。<Space><Space><Space>
…p
输入默认寄存器的内容。主要注意事项是您拉出的块和目标块应该具有相同的行号。
或者,您可以使用外部程序:
:1,4!paste - <(sed -n '6,9p' %) | column -ts $'\t'
:5,9d
参见
$ man paste
、$ man sed
、$ man column
。