在 Linux 的 Vim 中,“复制”称为 yank,基本按键是 y。最常用:yy 复制当前行,nyy 复制 n 行,例如 3yy;yw 复制一个单词,y$ 复制到行尾,yG 复制到文件尾。按 v 进入可视模式选中文本后按 y 可复制选中区域,随后按 p 粘贴到光标后,按 P 粘贴到光标前。

若要“复制当前行并粘贴到下一行”,标准操作是 yyp;若要复制多行再粘贴,可执行 3yyp 或使用可视模式选择后 y、移动光标、p。
如果目标是复制到系统剪贴板,供浏览器、终端或其他程序粘贴,应使用系统寄存器:"+y 复制选中文本,"+p 粘贴系统剪贴板内容。先用 :echo has('clipboard') 检查 Vim 是否支持剪贴板;返回 1 表示带 +clipboard 特性。若 Vim 为 -clipboard,可安装带剪贴板支持的版本,如 vim-gtk、vim-x11 或 gvim,也可以用 :w !xclip -selection clipboard 把当前缓冲区写入系统剪贴板。
若要把外部命令输出复制进 Vim,可在普通模式执行 :r !command,例如 :r !ls -l,将命令结果插入当前缓冲区,再用 y/p 复制粘贴;插入系统剪贴板内容则可在插入模式按 Ctrl+r 后按 +。
需要注意:Vim 默认共享寄存器而非系统剪贴板;在纯终端或最小编译版中,Ctrl+c、Ctrl+v 不是标准复制粘贴命令。远程 SSH 环境下 "+y 是否生效还取决于客户端剪贴板转发与 Vim 剪贴板支持,必要时可使用 xclip、xsel 或支持 OSC52 的终端方案。

查看详情

查看详情