解决 - 粘贴到 Vim 中的代码缩进混乱

vim Paste Mode

Posted by Yun on Mon, Nov 19, 2018

在 Vim 中粘贴代码时,粘贴的代码会有大量多余的缩进,逐行累加。

原因分析

终端处理粘贴的文本时,会存入键盘缓存 (Keyboard Buffer)。Vim 处理时,会把这些内容作为用户键盘输入来处理。
所以如果 Vim 开启了自动缩进,那么在遇到换行符时,就会默认把上一行的缩进插入到下一行的开头。

解决方案

Vim 编辑模式中有一个 Paste 模式,在该模式下,可将文本保持原样粘贴到 Vim 中,以避免一些格式错误。

在 Vim 中键入命令:

1# 设置 粘贴模式
2:set paste
3
4# 取消 粘贴模式
5:set nopaste

用以切换粘贴模式,在粘贴模式下进行粘贴,就不会遇到缩进混乱的问题了。


版权声明:本文遵循 CC BY-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

Copyright statement: This article follows the CC BY-SA 4.0 copyright agreement. For reprinting, please attach the original source link and this statement.