首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vim中的智能缩进(通常很棒)在粘贴大量代码时是一种灾难

在Vim中,智能缩进通常很有用,但在粘贴大量代码时可能会导致问题。为了避免这种情况,可以尝试以下方法:

  1. 在粘贴代码之前,关闭Vim的自动缩进功能。可以通过以下命令来实现:
代码语言:txt
复制
:set noautoindent
:set nosmartindent
:set nocindent
:set indentexpr=
  1. 在粘贴代码之前,将Vim切换到普通模式。可以通过按下Esc键来实现。
  2. 使用以下命令粘贴代码:
代码语言:txt
复制
:set paste
" 粘贴代码
:set nopaste

这将告诉Vim不要自动缩进粘贴的代码,从而避免了灾难性的缩进问题。

如果需要在粘贴代码后手动调整缩进,可以使用以下命令:

  • 增加缩进:>>
  • 减少缩进:<<

此外,还可以使用以下命令在粘贴代码后自动调整缩进:

代码语言:txt
复制
:retab

这将根据Vim的缩进设置自动调整代码的缩进。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

大家好,又见面了,我你们朋友全栈君。 Vim 复制粘贴探秘 Vim 作为最好用文本编辑器之一,使用vim来编文档,写代码实在很惬意事情。...最近使用Vim来写博客,发现在Vim粘贴Python代码后,缩进就全乱了。...仔细研究了以下,原来自动缩进缘故,于是做如下设置: :set noai nosi 取消了自动缩进智能缩进,这样粘贴就不会错行了。但在有的vim不行,还是排版错乱。...你可能想到了,vim寄存器。对,使用vim寄存器 “+p 粘贴即可。根本不用考虑是否自动缩进,是否paste模式,直接原文传递!: "+p 要说vim寄存器,就要从vim文件间复制粘贴说起。...Vim ,若要复制当前行,普通模式下按 yy 即可,在要粘贴地方按 p 。这是vim将复制内容保存到了自己寄存器缘故。如果在其他地方执行yy,新内容将覆盖掉原寄存器内容。

2.4K20

最强编辑神器VIM全讲解

vim 一个功能非常强大全屏幕文本编辑器, Linux vim 编辑器被广泛使用。因为其功能丰富,尤其受程序员喜爱。...vim 和 vi 一样,多模式编辑器,不同 vim vi 升级版本,它不仅兼容 vi 所有指令,并且糅合了一些新特性 vim 。...区分编辑器和 IDE : 可能我们之前就是 vs2022 、Devc++ 上写代码,在这类 I D E IDE IDE ,一个软件就可以涵盖所有功能,包括编辑,编辑,调试等等;而我们 vim 编辑器...所以我们 vim 通常需要配置。所谓配置,就是按照固定方法,让 vim 编辑器编写代码更加舒适,更加利于使用。 通常 vim 配置有两种方案:自定义配置 或 自动化配置 。...: source ~/.bashrc 就可以开始使用了~ 该配置支持代码高亮,智能补齐、缩进,和语法提示等多种功能,不可谓不好用,接下来,就由我来演示一下: 版本正确小伙伴们,还在等什么,赶紧使用起来

1.9K30

Linux使用VIM编辑器方法

虽然可以每个 Vim 会话单独启用,但为了创建一个开箱即用高效编辑环境,还是建议 Vim 配置文件配置这些命令。... root 用户下使用 Vim 所有功能技巧vim 命令打开 Vim 编辑器。 开始前准备 这里所说选项或配置均位于用户主目录 Vim 启动配置文件 .vimrc。...缩进 & 制表符 使 Vim 创建新行时候使用与上一行同样缩进: set autoindent 创建新行时使用智能缩进,主要用于 C 语言一类程序。...通常,打开 smartindent 也应该打开 autoindent: set smartindent 注意:Vim 具有语言感知功能,且其默认设置可以基于文件编程语言来改变配置以提高效率。...Vim 可以识别文件类型并仅对代码注释进行拼写检查。

1.8K10

粘贴到vivim代码,怎样避免向右不断缩进,保持原来格式?解决vivim粘贴中会在行首多很多缩进和空格问题。

若你拷贝文本已经有表示缩进空格或者制表符的话,它们也会被当成字符串,而被缩进。 原因:一般vi/vim都默认设置为set nopaste。...2,拷贝完成之后,输入:set nopaste   (但是粘贴插入模式下代码不会自动按格式缩进,需要使用nopaste设置回来,即关闭paste。)...注意:Android Studio,把缩进优美的代码直接ctrl+c,ctrl+v到Vim时候,也会出现这种情况!解决方法一样! 设置前粘贴效果: ? 设置set paste后效果: ?...附:paste相关知识如下:  'paste'  布尔型  (缺省关闭,即默认关闭) 全局功能 注意:Vi 无此功能。 将 Vim 切换到粘贴模式。可用于从一个窗口剪切或复制文本并粘贴Vim。... GUI 里,Vim 知道何者来自粘贴,即使不打开 'paste' 也基本上不会做错。对 Vim 能自己处理鼠标点击终端也是如此。 启动 GUI 复位本选项。

2.9K20

Vim从理解到应用

插入模式,可以按ESC键回到普通模式。 可视模式(Visual mode) 这个模式与普通模式比较相似。但是移动命令会扩大高亮文本区域。高亮区域可以是字符、行或者一块文本。...当执行一个非移动命令,命令会被执行到这块高亮区域上。Vim"文本对象"也能和移动命令一样用在这个模式。...命令执行之后,Vim返回到命令行模式之前模式,通常是普通模式。 Ex模式(Ex mode) 这和命令行模式比较相似,使用:visual命令离开Ex模式前,可以一次执行多条命令。...3、Vim增删改查、复制粘贴撤销与快速缩进 不知道为什么,一提到增删改查我就很激动。...3.3.3、快速缩进与文本调整 以下常用缩进和文本调整方式: 命令 说明 << 整行向左回退 >> 整行将向右缩进(非常好用) :set shiftwidth?

49520

一开始看不上亲密接触后又让你欲罢不能 vim

我们使用 vim 绝大多数命令都在 Normal 模式运行,而 Cmdline(命令行)模式通常退出和保存使用,因此,如不特别说明,当我们在说命令模式,就是指代 Normal 模式。...如果要简单概括这三种模式使用场景,那就是:命令模式执行光标导航,复制粘贴删除,撤销重做,以及查找替换等操作;在编辑模式下,编写代码或进行创作;命令行模式模式下,输入 q 退出,输入w保存,输入wq...H: 将光标定位到屏幕顶部一行最左端 M: 将光标定位到屏幕中间一行 L: 将光标定位到屏幕底部一行 还有一种我们非常熟悉应用场景,就是调试程序抛出异常通常会显示出异常产生行号,这时就需要根据行号快速将光标定位到指定位置..." (cindent特别针对 C语言语法自动缩进) set smartindent " 依据上面的对齐格式,智能选择对齐方式,对于类似C语言编写上有用 set scrolloff=...总结 本文从 vim 发展历史开始,以具备能够熟练驾驭 vim 编辑器来满足日常代码编写基本操作为主线,讲解了 vim 中进行模式切换,光标导航,删除,撤销,替换,复制,粘贴,插入文本,以及配置编辑器外观设置等必要技能

72920

提高代码可读性10个技巧

函数定义添加注释可以使用该函数进行查看,即使在其他文件中使用该函数也同样可以查看注释。 下面另一个例子,从第三方库调用函数: ?...一致缩进 你可能已经知道需要对代码进行缩进,然而,同样值得注意,保持缩进样式一致也是很重要缩进方式不止一种,下面两个比较常见例子。...这是一篇维基百科文章,有不同缩进风格样式。 3 避免冗余注释 对你代码进行注释很棒行为,然而,它可能过量,或者冗余。...代码分组 通常情况下,某些任务需要几行代码,那么把这些任务放在单独代码一个好主意,这会让它们之间有一些空间。...然而,将这些页眉和页脚粘贴到每个页面并不是一个好方法。下面Jeffrey Way解释如何在CodeIgniter创建模板。

77370

Vim复制粘贴缩进错乱等常见问题解决方案

Linux 编程,当然需要 Vim 编辑文件Vim 从 vi 发展出来一个文本编辑器。...代码补全、编译及错误跳转等方便编程功能特别丰富,程序员中被广泛使用 这篇文章记录一下 Vim 中一些小问题解决方案: 复制粘贴缩进错乱 例如这么一段代码 /** * 记录读取过文件 * @...可以看到,这种直接粘贴方式会导致代码缩进错乱情况 解决方案 Vim 进入 paste 模式,命令如下: :set paste 进入 paste 模式之后,再按 i 进入插入模式,进行复制、粘贴就很正常了...之前正常,不知道怎么复现,就不截图了 取消高亮显示使用命令: :nohl 沈唁志,一个PHPer成长之路!...任何个人或团体,未经允许禁止转载本文:《Vim复制粘贴缩进错乱等常见问题解决方案》,谢谢合作!

2.4K30

提高 JavaScript 开发效率高级 VSCode 扩展之二!

作为一名业余爱好者、专业人员,甚至每月只有一次编程开发人员,你必须知道,对于任何愿意在工作投入最大生产时间的人来说,拥有智能和敏捷工具至关重要,废话不多说,介绍插件比较重要。 1....) 缩进风格,这个扩展为文本前面的缩进着色,每个步骤交替使用四种不同颜色。...使用多个游标 复制/粘贴 当在不同行上添加游标来编辑多行代码,发现这个特性非常有用。你可以复制和粘贴这些游标选择内容,它们将按照复制顺序进行粘贴。...Polacode 你经常会看到带有定制字体和主题代码截屏,如下所示。这是VS代码与 x 扩展 ? 我知道 Carbon 也是一种更好,更可定制替代品。...在你输入代码,它将立即运行你代码,并在代码编辑器显示各种执行结果。 ? Quokka 一个很棒扩展插件,当你准备技术面试,你可以输出每个步骤,而不必调试器设置断点。

1.8K30

使用vim打造go语言IDE

一下配置 安装vim mac及linux都会自带vim, 因为一直用mac自带安装YMC插件踩了很多坑。...代码追踪,输入 gd 就可以自动跳转 Plug 'dgryski/vim-godef' " 插件结束位置,插件全部放在此行上面 call plug#end() 然后输入 :w 保存配置,输入...进行安装,因为这一步需要下载大量依赖工具,然后会比较耗时,另外非常重要一点,有一些包存在于墙外服务上,所以需要开启访问外国网站。...当出现 vim-go: installing finished! 则安装成功! YouCompleteMe 代码提示,IDE和编辑器重要区别,有了代码提示,那么就可以流畅代码了。...vim中常用代码提示方案就是这个YouCompleteMe插件了,这个插件也需要安装依赖。插件安装那一步,完成了YouCompleteMe简称(YMC)安装,这个还需要一个依赖安装。

3K31

vim实用指南(一)

1. vim编辑器: Vim从 vi 发展出来和 Emacs 并列成为类 Unix 系统用户最喜欢编辑器。...Vim 可配置性非常强,各种插件、语法高亮配色方案等多不胜数,无论作为代码编辑器或是文稿撰写工具都非常给力。...fm 快速定位到当前行,光标之后第一个m字符处(通常在行首使用),如果有多个相同字符,可以使用分号;进行下一个选择。 Fm 同上,只是反向查找。...p(小写) 粘贴(在下一行粘贴) P(大写) 粘贴(在上一行粘贴) ​ d$|D|d+end 删除(剪切)当前位置到行尾内容。...删除当前行折叠,删除之后就不能再次折叠了; za 打开/关闭当前折叠; zfap 折叠光标所在段; 1.3 常见设置: 1.3.1 智能缩进: 可以实现自动缩进与自动对齐

83310

【学员分享】程序员效率神器,最常用VIM插件安装大全

1 写在前边废话 群里言有三老师多次推荐用vim作为编辑程序,作为经验丰富AI程序员,我想一定有其道理,所以决定好好学习vim。...切换normal模式和插入模式还好,但是全部代码靠手打,很容易出错,所以智能补全、运行和断点调试总不能没有。因此我们要对vim进行设置安装一系列插件满足我们需求。...indent on "适应不同语言智能缩进 syntax enable "开启语法高亮功能 syntax on "允许用定制语法高亮配色方案替换默认方案 "说明:以上这个我也不知道有没有用...(pkg=package) python-dev或者其他*.devel软件一般都是C语言编写一些头文件或cpp文件,往往其他模块或这我们自己写模块在编译,需要依赖这些*-devel软件包。...3.7 安装indentLine(自动缩进指示) vimrc文件添加如下代码安装、设置: Plugin 'Yggdroot/indentLine' let g:indentLine_char='┆'

1.6K10

vim编辑器

每一个要使用 Linux 程序员,都应该或多或少学习一些 vi 常用命令 1.2 vi 和 vim 很多 Linux 发行版,直接把 vi 做成 vim 软连接 vi vi Visual...vim vim = vi improved vim 从 vi 发展出来一个文本编辑器,支持 代码补全、编译 及 错误跳转 等方便编程功能特别丰富,程序员中被广泛使用,被称为 编辑器之神 查询软连接命令...,通常 一段功能相关代码会写在一起 —— 之间没有空行 命令 功能 { 上一段 } 下一段 2) 括号切换 程序世界,()、[]、{} 使用频率很高,而且 都是成对出现 命令 功能 % 括号匹配及切换...一次性 选中代码前增加 4 个空格,就叫做 增加缩进 一次性 选中代码前删除 4 个空格,就叫做 减少缩进 可视模式 下,缩排命令只需要使用 一个 > 或者 < 程序缩进 通常用来表示代码归属关系...正常开发 进入编辑模式之前,不要按数字 演练 2 —— 利用 可视块 给多行代码增加注释 开发,可能会遇到一次性给多行代码 增加注释 情况 Python ,要给代码增加注释,可以代码前增加一个

1.9K40

Vim编辑器

1.3 vim编辑器安装1)已安装Centos通常都已经默认安装好了 vi 或 Vim 文本编辑器。当命令行输入“vim”显示如下所示画面,视为 Vim 安装成功。...2.4 命令模式下相关操作(重点)如何进入命令模式?答:Linux操作系统,当我们使用 vim命令直接打开某个文件,默认进入就是命令模式。...问题:终端Vim粘贴代码,发现插入代码会有多余缩进,而且会逐行累加。原因终端把粘贴文本存入键盘缓存(Keyboard Buffer)Vim则把这些内容作为用户键盘输入来处理。...导致遇到换行符时候, 如果Vim开启了自动缩进,就会默认把上一行缩进插入到下一行开头,最终使代码变乱。...键即可完成删除注释操作2.7 Vim编辑器实用功能1)代码着色之前说过vim vi 升级版本,其中比较典型区别就是vim 更加适合coding,因为vim比vi 多一个代码着色功能,这个功能主要是为程序员提供编程语言语法显示效果

68022

Linux Vim编辑器基本使用

当我们终端输入vim命令,系统会提示”command not found”。...☆ 如何进入命令模式 答:Linux操作系统,当我们使用vim命令直接打开某个文件,默认进入就是命令模式。...问题:终端Vim粘贴代码,发现插入代码会有多余缩进,而且会逐行累加。原因终端把粘贴文本存入键盘缓存(Keyboard Buffer)Vim则把这些内容作为用户键盘输入来处理。...导致遇到换行符时候,如果Vim开启了自动缩进,就会默认把上一行缩进插入到下一行开头,最终使代码变乱。...六、VIM编辑器实用功能 1)代码着色 之前说过vim vi 升级版本,其中比较典型区别就是vim 更加适合coding,因为vim比vi 多一个代码着色功能,这个功能主要是为程序员提供编程语言升语法显示效果

3.1K21

Vim 新手节省时间 10 多个小技巧

配置 .vimrc 当我最初使用 vim 时候,我浪费了好多时间来缩进代码,我不知道通过修改 Vim .vimrc 配置文件来实现代码缩进、语法高亮、显示行号等功能。...; 按 d 剪切或按 y 复制选择代码; 移动光标到你需要粘贴位置,按 p 粘贴代码到光标后位置,或按 P 粘贴到光标前。...撤销与重做 使用 Vim 或其他编辑器时候,你可能经常需要对某些修改进行撤销或重做。 Vim ,你可以切换到正常模式,按 u 来撤销操作,按 Ctrl+r 来重做。 6....把外部文件读入 Vim 我开始使用 Vim 时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 读取另一个文件内容非常方便。...command 即可把 command 结果输入到 vim 。 :read !ls -l 10. 切换到上次修改位置 想知道你文件最后一次修改什么位置?

80170

Vim 3 vimrc

Vim 启动时会加载 vimrc 文件, 你能想到几乎所有的配置(包括主题, 快捷键, 插件设置等等), 都可以配置 vimrc , 所以, vimrc Vim 使用过程中有着至关重要地位...这个设置几乎必须打开. " 自动检测文件类型, 并根据文件类型显示代码高亮, 设置缩进格式, 加载对应插件 filetype plugin indent on " 相当于下面三行 " filetype...智能缩进 set smartindent " 编辑按一个 Tab 键相当于输入4个空格 set tabstop=4 " 格式化时缩进尺寸为4个空格 set shiftwidth=4 " 让 Vim 把连续空格视为一个...按键映射 Vim 中有大量快捷键(按键映射), 除此之外, 你还可以配置自己按键映射. 使用 :map 相关命令可以定义自己快捷键. map 命令本质将一个按键序列转化为另一个按键序列....p粘贴不替换寄存器内容, 这里利用了黑洞寄存器 vnoremap p "_dP " 对于很长行, vim会自动折行, 此时 j 或者 k 就会一下跳很多行, " 使用 gk,gj 可以避免跳过多行

2.9K30

tmux和vim工具使用

tmux和vim工具使用 可以脱离本地环境,直接连服务器即可 tmux 作用 分屏 允许把终端断开之后继续运行(tmux写完全不需要担心断网) 构成 内部很多个session,每一个session...:没有办法编辑,可以输入命令,每一个字母都是一个命令 编辑模式:一般命令模式下按下i键,既可以编辑,按下esc键盘即可退出编辑模式(进入编辑模式底部会有insert提示) vim会自动识别代码类型,...恢复行号 :删除所有文本(将光标移动到开头,设置为选中模式,再将光标移动到末尾) :全文格式化,解决当代码复制时候出现多重缩进问题 paste模式:带有缩进模式;...为设置为带有自动缩进模式,但是为设置不带有自动缩进模式(要粘贴的话可以先set paste 后set nopaste) 当vim卡死时候...,取消当前正在执行命令 注意区分和区别:可以粘贴vim外面的内容,粘贴系统自带粘贴板;但是 只能够粘贴vim内部内容,粘贴vim内部粘贴

16210

如何设置 vim 解决空格与 tab 之争

引言 python 使用者必备一个游标卡尺一个经典梗,因为 python 通过缩进来区分代码(而不是{}或者其他符号),而不是像其他程序语言,缩进仅仅为了可读性。...这就造成究竟选择通过 tab 缩进还是空格缩进成为了不可调和矛盾,因为混用两种方法结果灾难,那么,通过什么办法可以缓解这两者争议呢?...3. shiftwidth shiftwidth 用于程序自动缩进所使用空白长度指示。 也就是说,当你按下 ==,vim 根据语法解析判断出缩进量后,每个缩进量纲应该填充多少个空格。... vim ,tab 总是前进一个缩进长度,也就是 shiftwidth 定义空格数量,但如果这时 shiftwidth 与 tabstop 设置不同,那么 vim 会尽量多通过 tab 填充...,任何程序不同平台上展示,都可能因为 tab 长度不同造成代码混乱。

1.3K10
领券