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 

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • rsyslog详解

    rsyslog详解一、日志介绍日志概念日志是系统用来记录系统及应用程序运行时的一些相关信息的文本文件日志作用日志是为了保存相关程序的运行状态、错误信息等,为了对系统进行分析、保存历史记录以及在出现错误时发现、分析错误使用linux系统日志类型内核信息服务信息应用程序信息二、rsyslog1、rsyslog介绍rsyslog是linux系统中用来实现日志功能的服务。默认已经安装,并且自动启用。作用:主要用来采集日志,不生产日志其特性包括: 支持输出日志到各种数据库,如MySQ

  • Pycharm如何提交代码至github仓库配置操作步骤[通俗易懂]

    Pycharm如何提交代码至github仓库配置操作步骤[通俗易懂]需求:同Eclipse解决提交代码至github仓库初衷一致详细操作步骤如下:github创建准备提交的git地址:https://github.com/xxxxxxx/test.git打开pycharm,File–>settings–VersionControl–Github配置账户密码,根据习惯选择认证方式:创建demo项目,pycharm工具条选择VCS,右键选择共享项目…

  • docker-Dockerfile文件详解

    docker-Dockerfile文件详解

  • js实现模糊查询

    js实现模糊查询1、简述实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现。后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询。前端直接使用字符串的indexOf()方法或者正则表达式匹配实现,相比后端实现这种方法的用户体验更友好。2、demo当输入框中输入内容或者点击查询按钮时,根据输入框中的关键字,模糊查询下面表格的内容,并重新渲染表格。代码如下。(1)…

  • RestSharp_简单搜索怎么使用

    RestSharp_简单搜索怎么使用C#使用restsharp调用接口

  • QQ vx 刷屏神器!!

    QQ vx 刷屏神器!!在电脑上桌面新建一个txt,然后在里面写入下面的代码,写好后把文件的txt格式改为vbs格式即可次数别设太多,会卡死,间隔时间别太短setwshshell=wscript.createobject(“wscript.shell”)wshshell.AppActivate”王择玉”fori=1to2wscript.sleep100wshshell.sendKeys…

发表回复

您的电子邮箱地址不会被公开。

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