Vim - 使用可视模式交换列

时间:2016-01-28 15:41:33

标签: vim copy-paste paste cut

我有一个像这样的降价表。 我想用head2交换head3列。

| head1 | head3 | head2 |
|-------|-------|-------|
| foo   | baa   | none  |
| some  | text  | here  |

我可以使用可视模式(Ctrl-V)轻松剪切色谱柱,但如何将色谱柱“按列”粘贴?

此外,哪个操作很简单:

  1. 切'head 3'并贴在'head2'后面
  2. 切'head 2'并在'head3'之前粘贴?

2 个答案:

答案 0 :(得分:6)

当您使用 Ctrl + V 选择并剪切某些内容时,Vim也会将其粘贴为列。您可以 Ctrl + V 选择要交换的列并粘贴,您刚刚更换的列现在将位于粘贴寄存器中。返回到您先剪切的列,再粘贴一次以移动替换的列。

分步骤:

  • 使用 Ctrl + V 选择整个head3
  • x 切割
  • 再次使用 Ctrl + V 选择整个head2
  • p 要粘贴
  • 回到head3过去的地方
  • p 要粘贴

Column swap demo

答案 1 :(得分:1)

  1. 转到第一个点|f+|然后转到l
  2. 之后的角色
  3. 开始选择专栏:Ctrl+v
  4. 移至文件末尾:G
  5. 转到第二个点,即header3之后的那个点:2f+|
  6. 剪切选择:d
  7. 移至该行的末尾:$
  8. 最后粘贴:p
  9. enter image description here

      

    此外,哪个操作很简单:

         
        
    1. 切'head 3'并贴在'head2'后面
    2.   
    3. 切'头2'然后粘贴   '头像3'?
    4.   

    对我来说,两者的工作方式相同。