vim 复制_VIM学习笔记 文本复制记录仪(YankRing)

Vim使用术语"yank"和"pull",来指代我们所熟悉的复制和粘贴 (Copy & Paste)。在Vim中,任何被复制和删除的文本,都会被保存在寄存器(Regists)中。例如,使用yy命令复制当前行或使用dd命令删除当前行,都会同时将当前行放入默认寄存器中。当然,你也可以在命令中指定寄存器。比如使用"ayy命令,将复制的文本放到寄存器a中;然后使用:pu a命令,就可以粘贴寄存器a中的内容。

使用:register命令,可以查看完整的寄存器列表:

06fc56c4665dc296e7d4adeb50a2eb96.png

面对大量的历史纪录,我们很难仅凭记忆来找到并粘贴之前复制的文本。而YankRing插件,则可以更加方便地查找和粘贴文本。

安装配置

推荐使用vim-plug或Vundle等插件管理器,来安装Vim.org上的YankRing插件。

可以在vimrc文件中,自定义插件的选项。例如以下命令指定条目的最小长度为2个字符,以避免删除的单个字符也被记录到YankRing中:

let yankring_min_element_length = 2

以下表格列示了主要选项的默认设置:

  • yankring_max_history,100,保存历史纪录的最大数目
  • yankring_history_dir,$HOME,保存历史纪录的文件位置
  • yankring_min_element_length,1,如果复制的文本长度小于此值,则不会被记录
  • yankring_max_element_length,1MB,如果复制的文本长度大于此值,则会被截断
  • yankring_enabled,1,自动启用
  • YankRingyankring_ignore_duplicate,1,忽略重复的纪录
  • yankring_window_auto_close,1,当选择某条纪录之后自动关闭YankRing窗口

YankRing窗口

使用以下命令打开YankRing窗口,以显示复制和删除文本的历史记录:

:YRShow

9dd7b803eb0fbb6141478f174dd88f91.png

YankRing窗口顶端的状态行,显示以下向导信息,以帮助你操作列表中的历史记录:

0921bf9e7ee03d63ac5f99ae4dff2ac7.png

点击 ? 键,将显示各个命令的说明:

22c548d7dc3604f07c98e0da7606002f.png

您可以使用上下键、鼠标滚轮或移动命令,来浏览所有条目;当使用回车键、鼠标双击或命令,选择某条纪录之后,将完成粘贴操作并关闭YankRing窗口。

YankRing命令

使用以下命令,可以将指定范围内的文本加入YankRing:

:5,10YRYankRange

在可视化模式下,使用YRYankRange命令,则会将所有选中的文本加入到YankRing中。

使用以下命令,将在屏幕底部提示你输入关键字(支持正则表达式)以进行查找,并将在YankRing窗口中显示匹配结果:

:YRSearch

帮助信息

使用:h yankring命令,可以查看YankRing插件的帮助文件。

使用:h yankring-tutorial命令,则可以参照实例以快速了解插件功能。

YankRing无疑大大增强了Vim复制粘贴的功能,但同时也引入了更多的快捷键和命令;通过新建YankRing窗口,来完成查找和粘贴历史条目的操作,对我个人来说也看不到效率的提升。

更重要的是,例如Ditto等操作系统层面的剪贴板工具,覆盖了更多的应用,而且操作也更直观。那么YankRing是不是一个多余的存在了呢?

Ver: 2.0 | YYQ<上一篇 | 目录 | 下一篇>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值