美文网首页
Vim粘贴代码时缩进混乱2020-04-04

Vim粘贴代码时缩进混乱2020-04-04

作者: dbabby | 来源:发表于2020-04-04 20:56 被阅读0次

1. 背景

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

2. 解决

取消自动缩进

在命令模式下,使用“:set nosmartindent”和“:set noautoindent”取消自动缩进,然后再粘贴即可。完成后再开启自动缩进“:set smartindent”和“:set autoindent”,以上命令都可使用简写,比如“:set si”,可通过Vim的帮助“:help smartindent”查看相应说明。

Paste模式

Vim的编辑模式中,还有一个Paste模式,在该模式下,可将文本原本的粘贴到Vim中,以避免一些格式错误。通过“:set paste”和“:set nopaste”进入和退出该模式。更简便的方式是,在Vim中设置一个进入和退出Paste模式的快捷键,往“~/.vimrc”中添加一行配置“set pastetoggle=”,这样即可通过F12快速的在Paste模式中切换,当然快捷键在不冲突的前提下可以任意指定,具体如何指定,参考附带的教程链接。

转载自:https://my.oschina.net/joshuazhan/blog/122539

3. 参考

http://vim.wikia.com/wiki/Paste_Indent_Problems

http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1)

http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_2)

http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_3)

相关文章

  • Vim粘贴代码时缩进混乱2020-04-04

    1. 背景 在终端Vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加。原因是终端把粘贴的文本存入键盘...

  • Vim粘贴时自动缩进混乱的问题

    1. 背景 在终端Vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加。原因是终端把粘贴的文本存入键盘...

  • VIM 粘贴的时候缩进问题

    vim 粘贴一段代码的时候往往因为自动缩进搞得乱七八糟。解决方法:切换到paste模式。在粘贴数据之前,输入下面指...

  • vim 粘貼時取消自動換行

    当vim开启smartindent时,对于C代码会有自动换行的功效。但是,有时候我们需要在向vim中粘贴C代码时,...

  • IDEA个性化设置

    Settings 复制粘贴代码时总是会自动格式化,或者自动缩进Settings - Eidtor - Genera...

  • 【运维经】第3章——vim格式化代码

    vim格式化代码 有时候我们会将代码复制到vim里面,如果你的vim设置了autoindent,那么你的缩进会很糟...

  • vim缩进格式

    今天又在用vim写代码的过程中发现一个坑。这次是关于缩进的。登上服务器直接用默认vim敲代码,缩进就直接按了tab...

  • vim格式混乱问题(缩进问题)

    经常使用vim里面的文本进行粘贴操作嘛?经常因为vim文件内容混乱而苦恼嘛?教你一招,够用!!! Linux上面常...

  • Vim 缩进设置

    Vim 缩进总结 在linux上编辑文件时,有时候从别的地方copy过来的代码要缩进,如果一行一行的搞,忒麻烦耗时...

  • 解决粘贴到vim缩进错乱问题

    关闭自动缩进 如果不想每次都执行这个命令,可以在 ~/.vimrc 中添加一行配置 set pastetoggle...

网友评论

      本文标题:Vim粘贴代码时缩进混乱2020-04-04

      本文链接:https://www.haomeiwen.com/subject/thusphtx.html