http://www.tinylab.org/linux-terminal-and-paste-copy-under-vim/

在GUI界面下,我们可以很自由的复制粘贴。但是在字符界面下,我们不得不用鼠标选定,然后单击右健,选择复制,再到别处去Ctrl-v。并且对于 那些用没有配置过的VIM来说,VIM的粘贴板和X Window的粘贴板还不共享。这在码字的过程中,感觉非常不流畅。下面,我们就尝试解决这个问题。

首先我们得让VIM和X Window共享一个粘贴板,这样我们就可以像在GUI界面下一样去复制粘贴了。我们可以在自己的VIM配置文件.vimrc里添加这么一行:

set clipboard=unamedplus
1
set clipboard=unamedplus

这 行配置的意思是让VIM把$$’+'$$这个寄存器(粘贴板)设置为平常yank和p操作的默认粘贴板,而$$’+'$$寄存器在VIM里就是代表X Window的粘贴板。这样我们就让VIM和X Window共享一个粘贴板,再也不用担心VIM里复制的东西,不能在VIM外去粘贴。

但是这里要注意,如果你下载的是基本VIM的话,按照上面的设置是无法实现预期的效果的。因为VIM基本版默认不支持X Window的粘贴板,所以你得安装VIM完全版,或者巨型版。你可以执行如下命令去判断你的VIM是否支持X Window的粘贴板:

vim --version | grep clipboard
1
vim --version | grep clipboard

如果clipboard和xterm_clipboard带有加号,那么就表示支持这个特性,减号就表示不支持。

在Ubuntu下面,你应该安装vim-gnome,而在fedora下面,你需要安装vim-X11。

这都做完后,你会发现VIM在每次退出的时候都会清空粘贴板,而这并不是我们想要的。我们可以在VIM配置文件里添加下面一行配置,来让VIM在退出的时候,保留粘贴板中的内容:

autocmd VimLeave * call system("xsel -ib", getreg('+'))
1
autocmd VimLeave * call system("xsel -ib", getreg('+'))

这个配置其实就是在VIM每次退出的时候,运行xsel命令来把’+'寄存器中的内容保存到系统粘贴板中,所以这个配置要求你安装xsel。

现在,假设我们从VIM中yank一些内容,然后退出VIM,粘贴到终端命令行上,这个时候我们可能还是得拿起鼠标,右键粘贴。其实在大多数terminal中都有一个快捷键:Ctrl-Shift-v,把内容粘贴到命令行中。这样我们就解决了在终端下面粘贴的问题。

可能有人会问,在终端下面复制怎么办?这个,暂时还没有找到很满意的解决方案。

在LINUX终端和VIM下复制粘贴相关推荐

  1. 在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全

    在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全 行复制: [yy]复制光标所在行 [p]在光标位置粘贴复制的内容 多行复制: [v]从当前位置进行可视化模式([Ctrl+v] ...

  2. Linux下复制粘贴

    Linux下复制粘贴 1. 图形界面 鼠标右键复制 -- 复制到系统剪贴板 鼠标右键粘贴 -- 粘贴系统剪贴板内容 Ctrl + c -- 复制到系统剪贴板 Ctrl + v -- 粘贴系统剪贴板内容 ...

  3. vim可视模式下复制粘贴文本

    [操作步骤] vim编辑器有两种操作模式:普通模式.插入模式.当打开要编辑的文件时,vim编辑器会进入普通模式.在普通模式下按 i 键进入插入模式,在插入模式下按 Esc 键返回普通模式. 在普通模式 ...

  4. 终端下 复制粘贴快捷键

    终端下复制粘贴快捷键 复制 CTRL+SHIFT+C 粘贴 CTRL+SHIFT+V

  5. Linux命令行下复制粘贴文件

    Linux命令行下复制粘贴文件 一.复制单个文件 1.ls命令演示 2.cp命令 二.复制文件夹 1.cp -r 命令 三.复制多个文件 一.复制单个文件 1.ls命令演示 2.cp命令 我们下面将1 ...

  6. 复制出来的文本都是大写_vi或vim怎么复制粘贴

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解Linux中的命令行界面文本编辑器vim如 ...

  7. Linux终端命令行下的常用快捷键使用

    Linux终端命令行下的常用快捷键 文章目录: ***`下面我只介绍常用的命令,其他的用的几乎很少,常用自然就是总会用的到的,而且用处比较大的,可以提高工作效率的,下面我亲自测试这些命令都是亲测可行的 ...

  8. 【vim小记】vim的复制粘贴(包括系统剪贴板)

    转自 http://blog.csdn.net/hk2291976/article/details/42196559 1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(pas ...

  9. 【vim小小记】vim的复制粘贴(包括系统剪贴板)

    1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只 ...

最新文章

  1. 在Opendaylight中karaf启动的时候自动安装feature
  2. 用21张图,把Git 工作原理彻底说清楚
  3. 最简单的 java 防反编译技巧
  4. 【Beta阶段】发布说明
  5. mysql mybatis 返回值类型_使用MyBatis时接收值和返回值选择Map类型或者实体类型
  6. ucore和linux区别,附录 - 附录A—ucore历史 - 《操作系统的基本原理与简单实现》 - 书栈网 · BookStack...
  7. 异域linux内核漏洞,Linux内核再现漏洞!这次11年后才发现
  8. java serlet清空cookie_如何删除Java Servlet中的Cookie
  9. 花了三天三夜才收集整理出来的经典 SQL 数据库笔试题及答案
  10. 泡泡玛特动作频频,是“多点开花”还是“雷声大雨点小”?
  11. r矢量球坐标系旋度_球坐标系中的矢量算符
  12. 前程无忧网站大数据职位信息分析可视化(源码)
  13. CocosCreator微信小游戏之排行榜
  14. 码云团队如何使用码云?
  15. Go XP开发,以GoLand为例
  16. C语言实现四舍五入 c语言实现四舍五入
  17. 科学家风采 | 2022 ACM杰出会员揭榜:本刊编委陈恩红教授入选!
  18. Exception in thread main java.lang.NoClassDefFoundError: goetl/etl/Ip2Plac
  19. Docker入门-什么是Docker
  20. 固定资产管理需求分析说明书

热门文章

  1. java方法声明无效_java 方法声明无效 需要返回类型
  2. 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  3. 数组反向遍历ios_LeetCode106.从中序与后序遍历序列构造二叉树(Construct Binary Tree from Inor...)...
  4. 广西师范大学c语言期末试题,广西师范大学 据库原理(A卷).doc
  5. Java实用教程笔记 Java多线程机制
  6. Win10环境下,在Matlab R2016a上的SPM12安装教程
  7. FPGA之道(40)HDL的语法结构
  8. 【 FPGA 】UltraFast设计方法学:在Vivado中使用设计规则检查
  9. laravel 处理excel插件maatwebsite/excel
  10. IIS与ASP.NET对请求的处理