How do I paste a column of text after a different column of text in Vim?

后端 未结 6 965
小蘑菇
小蘑菇 2020-12-07 11:22

I have two columns full of text, and I want to get them side-by-side. For example, I have

abc
def
ghi

and

123
456
789
         


        
6条回答
  •  北海茫月
    2020-12-07 11:49

    I was wondering why "visual block mode" wasn't working for me. The key is to yank (or delete) in visual mode.

    I find myself needing to copy some stuff from excel columns having variable lengths. Here's how I do it:

    Names
    Donald Knuth
    Sebastian Thrun
    Peter Norvig
    Satoshi Nakamoto
    
    Age
    100
    50
    60
    45
    

    Let's say you want to put the second column after the first.

    1. Yank it in visual mode:
      • Move cursor to the beginning of Age
      • Press Ctrl + v to enter visual mode
      • Move cursor to 5 in 45
      • Press y to yank (or d to delete)

    You have now yanked in visual mode.

    1. Paste (in normal mode)

      • Move to the end of the first line and add more spaces because it's shorter than the second line for example. If you paste a "block" without adding extra spaces, it will overwrite the "run" in Sebastian Thrun.

      • Now you're on the first line, insert a few spaces after the last character. Make sure you're not in insert mode and hit p to paste the block. (If you want to paste in insert mode, use ctrl+r ")

    enter image description here

提交回复
热议问题