【vim 学习系列文章 4 - vim与系统剪切板之间的交互】

文章目录

    • 背景
      • [1.1.1 vim支持clipboard 检查](#1.1.1 vim支持clipboard 检查)
      • [1.1.2 vim的寄存器](#1.1.2 vim的寄存器)

上篇文章:【vim 学习系列文章 3 - vim 选中、删除、复制、修改引号或括号内的内容】

背景

从vim中拷贝些文字去其它地方粘贴,都需要用鼠标选中vim的文字后,Ctrl+c、Ctrl+v,硬生生掐断了纯键盘的流畅感,而且,vim中的块选择很方便,如果只想要拷贝某一个块的数据,鼠标操作就完全没辙了。

1.1.1 vim支持clipboard 检查

确认vim 编辑器是否支持 clipboard 特性:

支持这特性的检索结果应该包含 +clipboard,而不支持则会是 -clipboard

1.1.2 vim的寄存器

vim会有一些存储空间来暂存内容,vim中将这些存储空间叫寄存器。例如我们在vim中y操作复制的内容,实际就是暂存到寄存器中。怎么查看寄存器内容呢?在vim中执行

bash 复制代码
:reg

在下图中处于 "name" 那列的都是寄存器的名字,为了要与系统的剪切板交互,我们着重关注寄存器 "*"+

在 vim 中进入visual 视图后使用 "Ny(N表示特定寄存器编好),将内容复制到特定的剪切板

因此,如果要把数据从vim拷贝到系统剪切板,我们只需要在visual模式下执行:

c 复制代码
"+y

双引号 + 加号 寄存器 + y 。通过这命令copy后就可以去其它地方Ctrl+v 或者执行Shift+Insert命令也可以将从vim 复制的内容进行黏贴。

如果从其它地方 Ctrl+c 后,要粘贴到 vim中,则需要:

c 复制代码
"+p

"*"+有什么差别呢?

"* 是在系统剪切板中表示选择的内容
"+ 是在系统剪切板中表示选择后Ctrl+c复制的内容

推荐阅读https://www.cnblogs.com/gmpy/p/11177719.html

相关推荐
晨曦backend2 天前
Vim-vimrc 脚本文件表头设置
编辑器·vim·vimrc
Little-Hu2 天前
linux使用vscode加cmake代替vim、gcc、gdb、makefile编辑、构建、调试程序
linux·vscode·vim
蚕与禅2 天前
从零学起VIM
linux·编辑器·vim
wulitoud2 天前
vim 编辑模式/命令模式/视图模式常用命令
vim·excel·命令模式
晨曦backend3 天前
GVim-vimrc 字体缩放与界面优化配置
vim·vimrc
晨曦backend3 天前
Vim-vimrc 快捷键映射
linux·编辑器·vim
CSDN_RTKLIB4 天前
Vim 介绍:从编辑器到高效工作的利器
linux·编辑器·vim
盛夏绽放5 天前
Node.js 文件上传方案终极对决:Multer vs Connect-Multiparty
node.js·编辑器·vim·有问必答
程序猿小D7 天前
第27节 Node.js Buffer
linux·开发语言·vscode·node.js·c#·编辑器·vim
程序猿小D8 天前
第32节 Node.js 全局对象
linux·vscode·node.js·编辑器·vim