vim与系统剪切板之间的复制粘贴
背景
vim各种快捷建溜得飞起,然而与系统剪切板之间的复制粘贴一直都是我的痛。
每次需要从vim中拷贝些文字去浏览器搜索,都需要用鼠标选中vim的文字后,Ctrl+c、Ctrl+v,硬生生掐断了纯键盘的流畅感
而且,vim中的块选择多爽,如果只想要拷贝某一个块的数据,鼠标操作就完全没辙了
忍无可忍,无需再忍,今天就彻底解决这个问题
vim与系统剪切板之间的交互
vim支持clipboard特性
本章参考自 NearXDU的博客
确认vim编辑器是否支持clipboard特性
[GMPY@16:33 ~]$ vim --version| grep "clipboard"
支持这特性的检索结果应该包含 +clipboard,而不支持则会是 -clipboard
如果不支持怎么办?安装新的vim吧。可以参考这边文章 从源码安装vim
vim的寄存器
本章参考自 rainysia的博客
vim会有一些存储空间来暂存内容,vim中将这些存储空间叫寄存器。此寄存器非我们硬件所说的寄存器,可以理解为是一种cache。
例如我们在vim中y操作复制的内容,实际就是暂存到寄存器中。
怎么查看寄存器内容呢?在vim中执行
:reg
在vim中,这些寄存器也有好几个
| 表示符号 | 名称 | 作用 |
|---|---|---|
"" |
无名(unnamed)寄存器 | 缓存最后一次操作内容 |
"0 ~ "9 |
数字(numbered)寄存器 | 缓存最近操作内容,复制与删除有别,"0寄存器缓存最近一次复制的内容,"1-"9缓存最近9次删除内容 |
"- |
行内删除(small delete)寄存器 | 缓存行内删除内容 |
“a ~ "z或"A - ”Z |
具名(named)寄存器 | 可用于主动指定 |
":, "., "%, "# |
只读(read-only)寄存器 | 分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名 |
"= |
表达式(expression)寄存器 | 用于执行表达式命令 |
"*, "+, "~ |
选择及拖拽(selection and drop)寄存器 | 存取GUI选择文本,可用于与外部应用交互 |
"_ |
黑洞(black hole)寄存器 | 不缓存操作内容(干净删除) |
"/ |
模式寄存器(last search pattern) | 缓存最近的搜索模式 |
为了要与系统的剪切板交互,我们着重关注"*和"+
在vim中进入visual视图后使用"Ny(N表示特定寄存器编好),将内容复制到特定的剪切板
因此,如果要把数据从vim拷贝到系统剪切板,我们只需要在visual模式下执行
"+y
注意的是,是 双引号 + 加号寄存器 + y。通过这命令copy后就可以去浏览器Ctrl+v啦
如果从浏览器Ctrl+c后,要粘贴到vim中,则需要
"+p
"*和"+有什么差别呢?
"* 是在系统剪切板中表示选择的内容
"+ 是在系统剪切板中表示选择后Ctrl+c复制的内容
使用快捷键
"+y和"+p的输入挺麻烦的,我们直接为他们创建个快捷键吧
vim创建快捷键的原理可以看 jalused的博客
我使用的快捷键如下
" 支持在Visual模式下,通过C-y复制到系统剪切板
vnoremap <C-y> "+y
" 支持在normal模式下,通过C-p粘贴系统剪切板
nnoremap <C-p> "*p
将上面的内容copy到~/.vimrc中即可生效,效果就是:
- 在vim的visual模式下选中了要复制的内容,再用Ctrl + y复制到系统剪切板,直接去其他窗口中Ctrl + v粘贴
- 在其他窗口中选择之后(不一定要Ctrl + c),可直接在vim中用Ctrl + p来粘贴
vim与系统剪切板之间的复制粘贴的更多相关文章
- vim在系统剪切板的复制与粘贴
https://blog.csdn.net/zhangxiao93/article/details/53677764
- ubuntu下vim与系统剪切板互相拷贝
1.install xclip sudo apt-get install xclip 2. install gvim sudo apt-get install vim-gnome 此时使用 “+ 寄存 ...
- Linux下Vim编辑器访问系统剪切板
默认情况下VIM使用的是内置的寄存器,而不是X Window的剪切板 启用系统剪切板支持 可以使用vim --version | grep clipboard查看,若clipboard前显示-标记,而 ...
- vim系统剪切板
原文地址 1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某 ...
- wpf 复制/剪切到本地系统剪切板中以供右键粘贴用
原文:wpf 复制/剪切到本地系统剪切板中以供右键粘贴用 http://www.cnblogs.com/yhdkzy/archive/2012/11/27/2790655.html /// & ...
- vim与windows/linux之间的复制粘贴小结
vim与windows/linux之间的复制粘贴小结 用 vim这么久了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开 ...
- 小菜学习Winform(六)剪切板和拖放复制
前言 在做winform项目的时候有时候会用到复制粘贴,在.net中提供了Clipboard类来操作剪切板,我们来看下. clipbrd.exe clipbrd是系统剪切板程序,但是在vista及以上 ...
- Chrome浏览器读写系统剪切板
IE浏览器支持直接读写剪切板内容: window.clipboardData.clearData(); window.clipboardData.setData('Text', 'abcd'); 但是 ...
- Android系统剪切板
Android系统剪贴板 复制字符串到系统剪切板 /** * 复制文本到剪切板 * * @param text * @return */ @SuppressWarnings("depreca ...
随机推荐
- [nginx]invalid number of arguments
invalid number of arguments nginx出现以下的错误,基本上错误的原因就是少了后面的分号导致. invalid number of arguments
- 最简单的IdentityServer实现——项目基本结构与流程
项目结构 共分为三个组成部分: IdentityServer:用于登录.身份认证与授权 Api:提供获得授权后调用的各接口 Client(客户端,控制台):访问IdentityServer授权,再访问 ...
- Delphi I/O Errors(几百种不同的错误)
The following are the Windows API (and former DOS) IO errors, which are also the IO errors often ret ...
- Xdite:永葆热情的上瘾式学习法(套路王:每天总结自己,反省自己的作息规律,找到自己的幸运时间、幸运方法,倒霉时间、倒霉方法。幸运是与注意力挂钩的。重复才能让自己登峰造极,主动去掉运气部分来训练自己。游戏吸引自己的几个原因非常适合训练自己)good
版权声明 本文首发自微信公共帐号: 学习学习再学习(xiaolai-xuexi) 无需授权即可转载, 甚至无需保留以上版权声明: 转载时请务必注明作者. 以下是<共同成长社区>第 58 次 ...
- Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌
原文:Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌 通过前两期的学习,我们可以正确搭建好Android Studio的开发环境,也创建了HelloWorld工程 ...
- Oracle 存储过程创建及调用
--------创建存储过程------- create or replace procedure TestSPas begin update table_name set CREATE_TIMEST ...
- .gitignore 配置后无效
利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理. 现象: 在.gitignore添加file1文件,以过滤该文件,但是通过Git status查看仍显示fil ...
- MySQL 常用数据存储引擎区别
mysql有多种存储引擎,目前常用的是 MyISAM 和 InnoDB 这两个引擎,除了这两个引擎以为还有许多其他引擎,有官方的,也有一些公司自己研发的.这篇文章主要简单概述一下常用常见的 MySQL ...
- UWP入门(六)-- ResourceDictionary 和 XAML 资源引用
原文:UWP入门(六)-- ResourceDictionary 和 XAML 资源引用 你最希望声明为 XAML 资源的 XAML 元素包括 Style.ControlTemplate.动画组件和 ...
- 国外优秀的UI设计资源库收集
国外优秀的UI设计资源库 网站设计或者说UI设计对于Web上的运用是非常的关键,一个站做得好不好,能不能吸引人的眼球,设计占了不低的地位,但话又说回来,Web前端人员又有多少人是设计专业毕业,具有这方 ...