码迷,mamicode.com
首页 > 系统相关 > 详细

vim粘贴代码时缩进混乱

时间:2015-08-04 12:46:03      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

1. 背景

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

2. 解决

  1. 取消自动缩进
    在命令模式下,使用“:set nosmartindent”和“:set noautoindent”取消自动缩进,然后再粘贴即可。完成后再开启自动缩进“:set smartindent”和“:set autoindent”,以上命令都可使用简写,比如“:set si”,可通过Vim的帮助“:help smartindent”查看相应说明。
  2. Paste模式
    Vim的编辑模式中,还有一个Paste模式,在该模式下,可将文本原本的粘贴到Vim中,以避免一些格式错误。通过“:set paste”和“:set nopaste”进入和退出该模式。更简便的方式是,在Vim中设置一个进入和退出Paste模式的快捷键,往“~/.vimrc”中添加一行配置 “set pastetoggle=<F12>”,这样即可通过F12快速的在Paste模式中切换,当然快捷键在不冲突的前提下可以任意指定,具体如 何指定,参考附带的教程链接。

3. 参考

    1. http://vim.wikia.com/wiki/Paste_Indent_Problems
    2. http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1)
    3. http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_2)
    4. http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_3)

vim粘贴代码时缩进混乱

标签:

原文地址:http://www.cnblogs.com/itcomputer/p/4701368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!