美文网首页
Vim下的复制与粘贴

Vim下的复制与粘贴

作者: 布枝盗 | 来源:发表于2020-01-17 16:45 被阅读0次

    Vim下的复制与粘贴

    Vim的剪切粘贴于我们常用的编辑器有很大不同,从术语上来看,Vim中的删除(Delete) ,复制(yank), 粘贴(put) 就和我们常用的指令不同.

    Vim 不使用单一的剪贴板进行剪切、复制与粘贴操作,而是为这些操作提供了多 组寄存器。当使用删除、复制与粘贴命令时,我们可以明确指定它们中的某一个进行 操作。

    引用一个寄存器

    Vim 的删除、复制与粘贴命令都会用到众多寄存器中的某一个。我们可以通过给 命令加 "{register} 前缀的方式指定要用的寄存器。若不指明,Vim 将缺省使用无 名寄存器。

    VIM中有多种寄存器:包括:
    有名寄存器,用名字(”a-“z);

    无名寄存器,名字为:“” 进行任何删除、复制操作时,它都会赋值,也是默认的,不用指定就可以;

    黑洞寄存器:“_ 表示真的完全没有了,放进去的东西都不会恢复的;

    复制专用寄存器:”0 当进行复制时,它就会被自己赋值;

    表达式寄存器: “= 它会用于计算之类的;

    系统剪贴板: ”+

    下面给出一个范例

    按键操作 缓冲区内容
    yiw content1 content2
    w content1 content2
    diw content1
    p content1 content2

    但是这样我们得到的单词是content2, 不是我们想要的content1
    这是因为, 我们运行diw时,无名寄存器被覆盖掉了, 这样我们按p时得到的是刚刚删除的单词, 尔不是之前复制的单词.

    这时, 我们可以使用复制专用寄存器, "0, 只有在进行复制时, 复制专用寄存器才会被复制, 我们再进行一次操作

    按键操作 缓冲区内容
    yiw content1 content2
    w content1 content2
    diw content1
    "0p content1 content1

    最终得到content1 content1

    相关文章

      网友评论

          本文标题:Vim下的复制与粘贴

          本文链接:https://www.haomeiwen.com/subject/sethzctx.html