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

怎么解决(丢失复制文本)这个问题?

  •  
  •   wudanyang · 2016-04-22 15:52:03 +08:00 · 3081 次点击
    这是一个创建于 3122 天前的主题,其中的信息可能已经有所发展或是发生改变。
    yw
    jjj vep
    jjj vep esc uu
    b yw
    jjj vep

    复制了一个单词,替换一个字符,但是替换下一个字符的时候,第一次复制的就不见了,得重新复制。
    有没有比较方便的方法?

    吐槽一下~vim 用多了之后,在其他软件里,总感觉删除了文本之后能粘贴出来。
    15 条回复    2017-06-02 07:24:20 +08:00
    jmc891205
        1
    jmc891205  
       2016-04-22 16:06:42 +08:00
    :reg 就可以看到你复制的东西在哪个 register 里了
    粘贴的时候把相应 register 里的东西粘贴出来就行了
    cosven
        2
    cosven  
       2016-04-22 16:11:35 +08:00
    很多软件可以记录 系统粘贴板
    jmc891205
        3
    jmc891205  
       2016-04-22 16:13:13 +08:00
    可能我说的不是很明白
    我的意思是你复制下一个单词之后 上一次复制的东西还在其他 register 里 仍然可以粘贴出来
    wudanyang
        4
    wudanyang  
    OP
       2016-04-22 17:00:32 +08:00
    @jmc891205 利用其他的寄存器?
    jmc891205
        5
    jmc891205  
       2016-04-22 17:06:18 +08:00
    @wudanyang vi 的教程一般都翻译成缓冲区 你自己搜搜看吧
    简单地说就是你第二次复制的时候 会把上次复制的东西挪到下一个缓冲区中
    wudanyang
        6
    wudanyang  
    OP
       2016-04-22 17:09:46 +08:00
    @jmc891205 我怎么记得缓冲区是正在编辑的文件呢?
    jmc891205
        7
    jmc891205  
       2016-04-22 17:11:45 +08:00
    @wudanyang 你复制粘贴的时候不是在正在编辑的文件中吗?还是说你第二次复制粘贴和第一次不是在同一个文件中?
    wudanyang
        8
    wudanyang  
    OP
       2016-04-22 19:21:17 +08:00
    @jmc891205 在同一个文件,但是那个是寄存器啊。
    KentY
        9
    KentY  
       2016-04-22 20:13:23 +08:00
    不用" 寄存器, 你 yank 的时候, 放到一个命名寄存器里就好了, vim 可不止一个"剪贴板"
    billlee
        10
    billlee  
       2016-04-22 20:41:01 +08:00
    @KentY 不用默认寄存器多要按好多下键。。
    klesh
        11
    klesh  
       2016-04-22 20:47:20 +08:00
    vnoremap <leader>p "_dP

    然后你粘贴的时候按 \p (代替 p )就行了
    SpicyCat
        12
    SpicyCat  
       2016-05-03 12:54:00 +08:00
    用 y 复制,然后一旦你用 v 选择文字再用 p 粘贴,那你选择的文字就被保留在寄存器中了,而之前用 y 复制的文字在寄存器 0 中,可以用 "0p 粘贴
    ashfinal
        13
    ashfinal  
       2016-06-07 13:44:12 +08:00   ❤️ 1
    不明白你在扯什么鬼 推荐你用个插件吧: yankring
    多剪贴板管理 可视化

    以下是我最近的配置: https://github.com/ashfinal/vimrc-config
    wfwdex
        14
    wfwdex  
       2017-05-24 08:47:44 +08:00
    wfwdex
        15
    wfwdex  
       2017-06-02 07:24:20 +08:00
    发现用 xnoremap p "_dP 的时候,如果是替换一行中的最后几个字符,替换内容会被往前移一个字符

    现在换成了 xnoremap p "0p 测试几天看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2754 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:05 · PVG 20:05 · LAX 04:05 · JFK 07:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.