vim粘贴代码格式变乱

转自netingcn.com


 

有时候从编辑器里面复制粘贴代码到vim中,代码格式会完全乱套。其原因是vim开启了smartindent(智能缩减)或autoindent(自动对齐)模式。为了保持代码的格式,在粘贴前可以先停止上面的两种模式,命令为:

set nosmartindent

set noautoindent

上述命令是在vim的阅读模式先输入冒号(:),然后分别执行即可。为了一个粘贴搞出这么多事来,确实是麻烦。不过还有一个更加简单的方法,用命令开始粘贴模式,即:

开启 set paste

关闭 set nopaste

或 set paste!

由于粘贴模式和上面的smartindent、autoindent模式是互斥的,而smartindent是不可少的,所以粘贴完后使用上面的两条命令之一来关闭粘贴模式。

另外还可以通过绑定自定义快捷键的方式来快速切换,例如将下属配置加入到.vimrc中

方式1:

set pastetoggle=<F4>

方式2:

:map <F8> :set paste

:map <F9> :set nopaste

注意:方式1在阅读和编辑模式下都可以使用,对粘贴模式开启和关闭进行切换;方式2是在阅读模式下使用,按下相应的快捷键就相当于执行后面定义的命令。

posted on 2013-10-30 10:45  SZlibraco  阅读(928)  评论(0编辑  收藏  举报