Vi 寄存器操作,及使用系统剪贴板
使用 Vi 不得不提它强大的寄存器功能,一般操作系统只支持单例的剪贴板操作,而 Vi 借助于寄存器,相当于有几十个剪贴板可以使用。Vi 中针对内容的操作会记入到寄存器中,包括复制,粘贴,删除,以及只读的寄存器和与系统剪贴板交换内容的寄存器。本文最初目的是怎么与系统剪贴板交换内容。
在 Vi 中使用 :reg (:registers 或 :dis/:display) 命令显示寄存器中的内容

主要寄存器
未命名寄存器
数字寄存器
命名寄存器
只读寄存器
系统剪贴板
搜索模式寄存器
现在来看那么多寄存器的使用
通常我们用
相应的
我们知道系统剪贴板寄存器是
寄存器操作总是以
在有些 Vi (如 Mac 系统自带的 Vi 和 GUI Vi) 中可以使用 CMD+C, CMD+V, 或 Shift+Insert 进行系统剪贴板的操作
可以用命令设置寄存器的内容,如
在粘贴时为防止像 autoindent 自动格式化,最好设置为粘贴模式
Vi 寄存器中的内容可以在文件
更多内容自然是用
参考: VIM使用系列:寄存器与复制粘贴缓冲区 永久链接 https://yanbin.blog/vi-registers-system-clipboard/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明]
本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。
在 Vi 中使用 :reg (:registers 或 :dis/:display) 命令显示寄存器中的内容

主要寄存器
未命名寄存器
" 最近一次复制 或删除的广西数字寄存器
0-9 文本删除历史命名寄存器
a-z, A-Z 用户自定义寄存器,A-Z 为追加内容到相应的 a-z 寄存器只读寄存器
%, # , ., : 分别为当前文件名,交替文件的名字,上次插入的文本,上次招待的命令系统剪贴板
*搜索模式寄存器
/现在来看那么多寄存器的使用
通常我们用
yy yank 到的内容默认放在 " 和 0 寄存器中,与之相对的 p (put) 也是从 " 寄存器中获得内容的,如果要使用自定义的寄存器,可以用使用"3yy 或 "ayy, 这样会把当前行的内容放到 3 或 a 寄存器中相应的
"3p 或 "ap 就是从 3 或 a 寄存器中复制内容到当前位置我们知道系统剪贴板寄存器是
*,所以相应的操作就是 "*yy 和 "*p,这样就实现了与系统剪贴板的文本数据交换了。寄存器操作总是以
" 一个双引号开始的。在有些 Vi (如 Mac 系统自带的 Vi 和 GUI Vi) 中可以使用 CMD+C, CMD+V, 或 Shift+Insert 进行系统剪贴板的操作
可以用命令设置寄存器的内容,如
let @a="1234",设置寄存器 a 的内容为 "1234"在粘贴时为防止像 autoindent 自动格式化,最好设置为粘贴模式
:set paste, 完事后恢复为 :set nopaste。我之前采用过的做法是用 :set noautoindent 设置为非自动退格方式来进行粘贴。Vi 寄存器中的内容可以在文件
~/viminfo 中找到,也就是说退出 Vi 后重新进入,寄存器的内容仍然可用。更多内容自然是用
:help registers 和 :help copy-move.参考: VIM使用系列:寄存器与复制粘贴缓冲区 永久链接 https://yanbin.blog/vi-registers-system-clipboard/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明]
本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。