vim 复制/剪切/粘贴/撤销操作

时间:2021-11-14 16:53:00

【背景知识】

  1. vim 有 12 个粘贴板,分别是 0、1、2、...、9、a、“、+;用 :reg 命令可以查看各个粘贴板里的内容。在 vim 中简单用 y 命令只是复制到 "(双引号)粘贴板里,同样用 p 命令粘贴的也是这个粘贴板里的内容;

  2. 要将 vim 的内容复制到某个粘贴板,需要先退出编辑模式,再进入命令模式后,选择要复制的内容,然后按 "Ny(注意带引号)完成复制,其中 N 为粘贴板号(注意是按下 双引号 + 粘贴板号 + y),例如要把内容复制到粘贴板 a,选中内容后按 "ay 就可以了,有 2 点需要说明一下:
    • " 号粘贴板(临时粘贴板)比较特殊,直接按 y 就复制到这个粘贴板中了,直接按 p 就粘贴这个粘贴板中的内容;
    • + 号粘贴板是系统粘贴板,用 "+y 将内容复制到该粘贴板后可以使用 ctrl+v 将其粘贴到其他文档(如 firefox、gedit)中,同理,要把在其他地方用 ctrl+c 或右键复制的内容复制到 vim 中,需要在正常模式下按 "+p

  3. 要将 vim 某个粘贴板里的内容粘贴进来,需要先退出编辑模式,再在命令模式按 "Np,其中 N 为粘贴板号,如上所述,命令 "5p 会将 5 号粘贴板里的内容粘贴进来,也可以按 "+p 将系统全局粘贴板里的内容粘贴进来。


【复制】

    1. 常用复制命令:

        yy    复制游标所在行整行 
        2yyy2y    复制 2 行
        y^    复制至行首,或y0
        y$    复制至行尾
        yw    复制一个word
        y2w    复制两个word 
        yG    复制至文件尾
        y1G    复制至文件首

    2. 选中文本进行复制:

        要选中内容进行复制,先在命令模式下按 v 进入 Visual Mode,然后用方向键 hjkl 选择文本,再按 y 进行复制。


【剪切】

    1. 常用剪切命令: 

        dd    剪切游标所在行整行 
        d^    剪切至行首,或d0
        d$    剪切至行尾 
        dw    剪切一个word 
        dG    剪切至文件尾  

    2. 选中文本进行剪切:

        要选中内容进行复制,先在命令模式下按 v 进入 Visual Mode,然后用 方向键 或 hjkl 选择文本,再按 d 进行剪切。


【粘贴】

    1. 常用粘贴命令:

        p    粘贴至游标后(下) 
        P    粘贴至游标前(上)

    2. 要使用 系统粘贴板 的内容,也可以直接在命令模式按 Shift + Inset 进行粘贴。


【撤销】

    在命令行模式下用 :undo :u 命令可以撤销最近一次操作。


【参考文献】

    [1] 《vi/vim复制粘贴命令》

    [2] 《vim复制》