vim复制粘贴_vim怎么复制粘贴到其他程序

vim复制粘贴_vim怎么复制粘贴到其他程序Vim复制粘贴探秘Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情。每当学会了vim的一个新功能,就会很大地提高工作效率。有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim的强大。而这样何尝不是一件好事呢,只要有的学习,就有的提高。最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了。仔细研究了以下,原来是自动缩进的缘故,于是做如下设置::setnoainosi取消了自动缩进和智能缩进,这样粘贴就不会错行了。但

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Vim 复制粘贴探秘

Vim 作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情。每当学会了vim的一个新功能,就会很大地提高工作效率。有人使用vim几 十年,还没有完全掌握vim的功能,这也说明了vim的强大。而这样何尝不是一件好事呢,只要有的学习,就有的提高。

最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了。仔细研究了以下,原来是自动缩进的缘故,于是做如下设置:

:set noai nosi 

取消了自动缩进和智能缩进,这样粘贴就不会错行了。但在有的vim中不行,还是排版错乱。

后来发现了更好用的设置:

:set paste 

进入paste模式以后,可以在插入模式下粘贴内容,不会有任何变形。这个真是灰常好用,情不自禁看了一下帮助,发现它做了这么多事:

  • textwidth设置为0
  • wrapmargin设置为0
  • set noai
  • set nosi
  • softtabstop设置为0
  • revins重置
  • ruler重置
  • showmatch重置
  • formatoptions使用空值

下面的选项值不变,但却被禁用:

  • lisp
  • indentexpr
  • cindent

怪不得之前只设置noai和nosi不行,原来与这么多因素有关!

但这样还是比较麻烦的,每次要粘贴的话,先set paste,然后粘贴,然后再set nopaste。有没有更方便的呢?你可能想到了,使用键盘映射呀,对。我们可以这样设置::

:map <F10> :set paste<CR> :map <F11> :set nopaste<CR> 

这样在粘贴前按F10键启动paste模式,粘贴后按F11取消paste模式即可。其实,paste有一个切换paste开关的选项,这就是pastetoggle。通过它可以绑定快捷键来激活/取消 paste模式。比如::

:set pastetoggle=<F11> 

这样减少了一个快捷键的占用,使用起来也更方便一些。

但,这是最方便的吗?Vimer们对高效的追求永无止境。还有其他更好地方法吗?

你可能想到了,vim寄存器。对,使用vim寄存器 “+p 粘贴即可。根本不用考虑是否自动缩进,是否paste模式,直接原文传递!:

"+p 

要说vim寄存器,就要从vim文件间的复制粘贴说起。

Vim 中,若要复制当前行,普通模式下按 yy 即可,在要粘贴的地方按 p 。这是vim将复制内容保存到了自己的寄存器中的缘故。如果在其他地方执行yy,新的内容将覆盖掉原寄存器中内容。如果想保存原寄存器中内容而同时增加新 的内容呢?这时就要在yy前增加标签了。标签以双引号开始,跟着的是标签名称,可以是数字0-9,也可以是26个字母,然后就是复制操作,这样就把复制内 容保存到该标签寄存器里。通过下面命令显示所有寄存器内容::

:reg 

其中注意两个特殊的寄存器:”* 和 “+。这两个寄存器是和系统相通的,前者关联系统选择缓冲区,后者关联系统剪切板。通过它们可以和其他程序进行数据交换。

备注:

若寄存器列表里无”* 或 “+ 寄存器,则可能是由于没有安装vim的图形界面所致。Debian/Ubuntu下可以通过安装vim-gnome解决。

$ sudo apt-get install vim-gnome 

选择缓冲区和系统剪切板啥子区别?让我们继续研究。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194077.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月12日 下午10:43
下一篇 2025年11月12日 下午11:22


相关推荐

  • 【echarts】使用心得之ChinaMap

    【echarts】使用心得之ChinaMapecharts 是一个开源的优秀前端可视化框架 有用很多优秀的可视化方案 调用也十分的简单 今天对 echarts 如何使用做一个记录 方便日后使用 先从 echarts 官网下载所需的 js 包 用于开发 不多说自然是源代码版 js 这个 Demo 的例子是来自原官网的空气质量图 业务需求 将页面捕捉到本地 代码 lt DOCTYPEhtml gt lt htmllang en gt lt he

    2026年3月19日
    1
  • c语言流程图生成器免费软件,c语言流程图生成器

    c语言流程图生成器免费软件,c语言流程图生成器c 语言流程图生成器免费版下载 AutoFlowchar 是一款非常实用的 c 语言流程图生成工具 软件能够根据源程序自动生成流程图 支持将流程图进行展开或者合拢 它还能自定义流程图的配色 大小 间距等 非常的实用 本款软件体积小巧 方便下载使用 c 语言流程图生成器免费版简介 AutoFlowchar 是一个功能强大 实用的根据源码生成 C 语言流程图生成器 它生成的流程图支持展开 合拢 并且可以预定义流程

    2026年3月19日
    3
  • mysql分区函数_mysql 分区可用函数

    mysql分区函数_mysql 分区可用函数DAY()DAYOFMONTH()DAYOFWEEK()DAYOFYEAR()DATEDIFF()EXTRACT()HOUR()MICROSECOND()MINUTE()MOD()MONTH()QUARTER()SECOND()TIME_TO_SEC()TO_DAYS()WEEKDAY()YEAR()YEARWEEK()等当然,还有FLOOR(),CEILING()等,前提是使用这两个分区函数…

    2022年6月9日
    115
  • html音乐播放器标签,打造属于自己的音乐播放器 HTML5之audio标签

    html音乐播放器标签,打造属于自己的音乐播放器 HTML5之audio标签我的音乐播放器HTML5中增加了Audio和Video标签,这两个标签的用法非常相似。功能却是相当强大,我们先来看一下Audio标签各个浏览器的支持情况。这里用的依然是CanIUse这个在线网站,相信学习前端的同学应该都不陌生。CanIUse我们可以看到,各大浏览器对这个元素的支持是非常给力的,除了IE8以前的和OperaMini,所以justdoit。相关文档:AudioMDN…

    2022年7月25日
    20
  • CGAL 安装

    CGAL 安装win8 1 vs2013 下安装 CGAL 含 qt boost cmake 我的 CGAL 配置环境为 windows8 1 vs2013 qt4 8 6 cmake2 8CGAL 是非常强大的算法几何库 它是基于 boost 库编写的 因此需要要首先配置 boost 为了完成计算机辅助几何的项目需要用到很多几何算法 网格划分 几何建模等 所以需要配置安装 CGAL 个人感觉这是我遇到过最复杂的

    2026年3月18日
    2
  • 职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…

    职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…【摘要】环球网校分享的“职称计算机考试模块怎么选择?”,以下介绍了职称计算机考试模块选择相关资料,希望对大家有帮助,更多资料敬请关注环球网校职称计算机考试频道,网校会及时更新考试资讯……问:职称计算机考试模块怎么选择?答:全国职称计算机考试模块一共设置有13类24个模块,可供各位考生选择一般评聘高级职务人员自选4个模块,评聘中级职务人员自选3个模块,评聘初级职务人员自选2个模块。在职称计算机考试模…

    2022年6月2日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号