V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kkd
V2EX  ›  Vim

vim 下粘贴复制,如何做到最快

  •  
  •   kkd · 2016-02-27 08:12:59 +08:00 · 4791 次点击
    这是一个创建于 3185 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在想把一个变量复制到两个或者三个地方,我的做法是:

    1. yiw yield 变量 A;
    2. viw 选中变量 B;
    3. "0p 从寄存器粘贴到变量 B 处;
    4. viw 选中变量 C;
    5. "0p 从寄存器粘贴到变量 C 处;

    有没有更好的方法?

    15 条回复    2016-02-27 21:25:11 +08:00
    joyeblue
        1
    joyeblue  
       2016-02-27 08:23:20 +08:00
    换个思路,用 . 来执行后面的操作。

    1. 在变量 A 上 ciw ,然后输入变量 A
    2. 移动到变量 B 处 按"."
    3. 移动到变量 C 处 按"."
    如果有更多的地方依次类推,如果 B 和 C 变量相同,可以先匹配,
    然后上下移动,再执行"."即可。
    batman2010
        2
    batman2010  
       2016-02-27 09:18:08 +08:00 via Android
    在变量的开头处, ye 复制;
    移动光标;
    p 粘贴。
    liko
        3
    liko  
       2016-02-27 09:37:13 +08:00
    输入前几个字符,然后 ctrl+p 选择
    watana
        4
    watana  
       2016-02-27 09:37:19 +08:00
    按照你的做法:

    1. 改变了「无名寄存器」和「复制寄存器」
    2. viw 并没有改变「无名寄存器」
    3. p
    4. viw 选中 C
    5. p

    你看我又帮你节省了 4 个按键
    arakashic
        5
    arakashic  
       2016-02-27 09:43:37 +08:00
    1. nmap <F3> viw"0p
    2. yiw
    3. 移动到 B
    4. <F3>
    5. 移动到 C
    6. <F3>

    btw, y=yank
    watana
        6
    watana  
       2016-02-27 09:51:51 +08:00
    我忘记了 viw p 之后会和 " 寄存器互换内容
    caixiexin
        7
    caixiexin  
       2016-02-27 10:34:46 +08:00 via Android
    @watana 可以在 vimrc 配置文件里设置,让粘贴的时候不替换寄存器内容的
    HiHi
        8
    HiHi  
       2016-02-27 10:39:53 +08:00
    jsonline
        9
    jsonline  
       2016-02-27 11:16:09 +08:00 via Android
    neoview
    jsonline
        10
    jsonline  
       2016-02-27 11:16:16 +08:00 via Android
    neovim
    kkd
        11
    kkd  
    OP
       2016-02-27 11:27:43 +08:00
    @caixiexin 应该如何设置,可以使“让粘贴的时候不替换寄存器内容的”?
    搜了一下没搜到简单的方法。
    uyhyygyug1234
        12
    uyhyygyug1234  
       2016-02-27 11:54:10 +08:00   ❤️ 1
    @kkd

    uyhyygyug1234
        13
    uyhyygyug1234  
       2016-02-27 11:54:47 +08:00
    你说的是不是这个啊
    caixiexin
        14
    caixiexin  
       2016-02-27 17:35:35 +08:00 via Android
    @kkd
    @uyhyygyug1234 就是这个哈
    uyhyygyug1234
        15
    uyhyygyug1234  
       2016-02-27 21:25:11 +08:00
    @caixiexin 我感觉也是,当年被坑死了,还好想出来了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1116 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 19:00 · PVG 03:00 · LAX 11:00 · JFK 14:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.