vim 粘贴 取消缩进zz

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

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  :set paste :map  :set nopaste 

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

:set pastetoggle= 

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

但,这是最方便的吗?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 
选择缓冲区和系统剪切板啥子区别?让我们继续研究
ubuntu17.04 vim取消自动缩进 新装了ubuntu17.04, 可是一直用Centos系列, 之后自带的vi用不习惯, 便使用apt-get install vim, 结果安装后这个自动换行让我心碎, 使用了nowrap仍旧没有什么卵用, 最后一顿操作终于找到了处理的办法在vim的配置文件 vimrc的结尾加上 目录 /etc/vim/vimrc /usr/share/vim/vimrc 这两个看看~~ set nowra 阅读详情

相关推荐

Ubuntu中的vim编辑器不能自动缩进(智能缩进

Ubuntu中的vim编辑器设置

weixin_44132990的博客 1076

Vim编辑器小技巧:轻松解决复制粘贴时的自动缩进

Vim中,复制粘贴文本时遇到的自动缩进问题可以通过开启“粘贴模式”轻松解决。使用:set paste命令可以临时禁用所有的自动格式化和缩进,确保文本以原样粘贴。此外,Vim提供了丰富的缩进命令,用户可以根据需要灵活配置自动缩进、智能缩进和C语言风格缩进等选项,以提高编辑效率。

jast 3226

vim粘贴代码的时候取消自动缩进

问题 经常需要粘贴一段代码进vim里,但是vim里默认是自动缩进的, 所以导致粘贴的代码的每一次缩进都多了一层,对于python这样的代码而言,缩进混乱肯定会导致无法执行,所以需要在粘贴的时候取消自动缩进 解决 在网上找了一下,方法如下 退出插入模式 :set nosmartindent 回车,然后继续 :set noautoindent 然后回到插入模式,直接粘贴就可以,粘贴完再设置回去就可...

天帝帝释天的专栏 1342

vim 关闭自动缩进

在末尾添加,我这设置了F9,也可以设置其他键 vim /etc/vimrc set pastetoggle=<F9> 进入文件,在inster 插入模式下,按F9 ,开启和关闭自动缩进 按F9,就会进入粘贴的模式

qq_36270681的博客 1673

vim黏贴代码格式混乱的解决方法

按照博主的经验,在/etc/vim中,修改vimrc,添加 set pastetoggle= 在黏贴代码之前,进入insert模式,按F9,就可以关闭自动缩进。 当需要自己手写代码的时候,进入insert模式,默认就是自动缩进了。

突围 2万+

Vim粘贴代码//缩进

1.vi 取消自动缩进 在命令模式下,使用“:set nosmartindent”和“:set noautoindent”取消自动缩进,然后再粘贴即可。 2.vim 通过“:set paste”和“:set nopaste”进入和退出该模式 可以在Vim中配置文件virmrc中设置一个进入和退出Paste模式的快捷键,往“~/.vimrc”中添加一行配置“set pastetoggle=<F12>”, ...

hushui的专栏 1000

vim 粘贴 取消缩进zz

Vim 复制粘贴探秘 Vim 作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情。每当学会了vim的一个新功能,就会很大地提高工作效率。有人使用vim几 十年,还没有完全掌握vim的功能,这也说明了vim的强大。而这样何尝不是一件好事呢,只要有的学习,就有的提高。 最近使用Vim来写博客,发现在Vim粘贴Python代码后,缩进就全乱了。仔细研究了以下,原来是自...

weixin_34062469的博客 396

vim粘贴代码片段出现每行新增缩进的解决方法-set paste

set paste准备复制一段代码到Linux服务器上的vim文件中,效果如下:

ningyanggege的博客 1840

掌握 Vim 编辑器:基础命令与操作技巧

这些命令只是vim功能的一部分,如果你刚刚开始使用vim,建议多加练习,逐步掌握这些基本操作。

weixin_48113578的博客 737

vim粘贴代码时缩进混乱

1. 背景 在终端Vim粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加。原因是终端把粘贴的文本存入键盘缓存(Keyboard Buffer)中,Vim则把这些内容作为用户的键盘输入来处理。导致在遇到换行符的时候,如果Vim开启了自动缩进,就会默认的把上一行缩进插入到下一 行的开头,最终使代码变乱。 2. 解决 取消自动缩进 在命令模式下,使用“:set no...

weixin_33941350的博客 245

vim&nbsp;快捷键

一、移动光标 1、左移h、右移l、下移j、上移k 2、向下翻页ctrl + f,向上翻页ctrl + b 3、向下翻半页ctrl + d,向上翻半页ctrl + u 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^ 5、移动光标到下一个句子 ),移动光标到上一个句子( 6、移动到段首{,移动到段尾} 7、移动到下一个词w,移动到上一个词b 8、移动到

ytuglt的博客 379

vim&nbsp;常用指令示意图

常用指令示意图" TITLE="vim 常用指令示意图" />

shaojie668的专栏 548

解决vi/vim粘贴会在行首多很多缩进和空格的问题

解决vi/vim粘贴会在行首多很多缩进和空格的问题 解决办法: 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴) 拷贝完成之后,输入:set nopaste (关闭paste) 将 Vim 切换到粘贴模式。可用于从一个窗口剪切或复制文本并粘贴Vim。它的使用会避免一些意想不到的效果。 设置此选项可用于终端上运行的 Vim,因为那里 Vim 没法区别输入和粘贴的文本。在 GUI 里,Vim 知道何者来自粘贴,即使不打开 ‘paste’ 也基本上不会做错。对

西京刀客 3683

linux中复制粘贴取消自动缩进

在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴) 拷贝完成之后,输入:set nopaste (关闭paste)

yuzhong 3304

vim修改缩进设置(Ubuntu下)

文章目录问题描述找到vim配置文件具体配置 问题描述 vim默认为8分空格,缩进太长。 修改vim配置使其缩进减半 找到vim配置文件 Ubuntu Vim 配置文件所在目录为 /etc/vim/vimrc 以超级用户打开并修改文件 具体配置 命令 功能 ts TAB缩进长度 softtabstop BACKSPACE时退回缩进长度 shiftwidth 每级缩进...

寅月十八的博客 2151

Ubuntu修改使用gedit编辑时tab键缩进格数

1.右下角找到制表符宽度并单击; 2.选择合适的制表符宽度; 3.设置完成后再按一下TAB键,就会发现缩进格数变成了自己想要的。

一只在校程序猿的技术贴 2274

ubuntu环境下显示行数及缩进功能的设置

在设置过程中总结出来的做法,供大家参考下:1.在终端输入sudo vim /etc/vim/vimrc 或者 sudo gedit /etc/vim/vimrc(这里注意vim后面有一个空格,然后再是"/"),进入文件。 设置各个功能: 1、Ubuntu vim显示行号 在文件末端添加一新行,输入 set nu 2、Ubuntu vim语法高亮 在文件中找到 "syntax on

Never_Give_Up_Lin 6968
上一篇: 左值
下一篇: Visual&nbsp;C++&nbsp;6.0连接SQLS…
lq.kr
博客等级 码龄14年 9粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值