hector
V2EX  ›  Vim

怎么将一段文字替换成另一段?

  •  
  •   hector · Oct 24, 2012 · 4835 views
    This topic created in 4958 days ago, the information mentioned may be changed or developed.
    这一段或者另一段很长,或者里面带着个换行符什么的。
    13 replies    1970-01-01 08:00:00 +08:00
    SAGAN
        1
    SAGAN  
       Oct 24, 2012
    v模式下分别选中两段文字x和p?
    hector
        2
    hector  
    OP
       Oct 24, 2012
    @SAGAN 问题是要批量替换,比如把第100行到文件尾的所有
    aaaaaaaa
    bbbbbb
    替换成
    cccccccccccccc
    wolflee
        3
    wolflee  
       Oct 24, 2012
    :100,$s/aaaaaaaa\rbbbbbb/cccccccccccccc/
    hector
        4
    hector  
    OP
       Oct 24, 2012
    @wolflee 还有个很主要的问题,就是文字很长,输入不现实。
    后来,利用q:编辑命令,勉强实现。

    另块复制
    111 aaa
    222 bbbbbbbbbbbbbbb
    333 cccccc
    想把
    aaa
    bbbbbbbbbbbbbbb
    cccccc
    复制下来怎么操作?
    013231
        5
    013231  
       Oct 24, 2012
    @hector CTRL-V進入快模式, 選擇要複製的部分, y.
    wolflee
        6
    wolflee  
       Oct 24, 2012
    v选中以后y,命令模式按<C-R>接"复制
    gastlygem
        7
    gastlygem  
       Oct 24, 2012
    补充 @013231 Windows下可用 Ctrl+Q
    cabbala
        8
    cabbala  
       Oct 24, 2012
    sed和awk欢迎你。。
    hector
        9
    hector  
    OP
       Oct 25, 2012
    @013231
    @wolflee
    @gastlygem
    @cabbala
    我没描述清楚
    因为长度不齐,bbbbbbbbbbbbbbb复制不全,最后没办法把aaa后面补了很多空格
    benjiaminlam
        10
    benjiaminlam  
       Oct 25, 2012
    :s
    atom
        11
    atom  
       Oct 25, 2012
    换个思路。
    vim也能以脚本方式调用,把很长的文字放在脚本里,就不用自己输入了。
    http://man.chinaunix.net/newsoft/vi/doc/usr_26.html#26.4
    013231
        12
    013231  
       Oct 25, 2012   ❤️ 2
    @hector `CTRL-V`, 選擇一列, 然後按`$`就可以選到行尾了, 長度不齊也没关系.
    hector
        13
    hector  
    OP
       Oct 25, 2012
    @013231 感谢,亲测可以,傻瓜在那补空格,汗~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3951 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 285ms · UTC 00:15 · PVG 08:15 · LAX 17:15 · JFK 20:15
    ♥ Do have faith in what you're doing.