将文本粘贴到vim时关闭自动缩进
我正在努力学习Vim。
当我从剪贴板将代码粘贴到文档中时,每条新行的开始处都会有额外的空格:
line
line
line
我知道你可以关闭自动缩进,但我无法让它工作,因为我有一些其他设置冲突或什么(这在我的.vimrc中看起来很明显,但当我把它们取出时似乎不重要)。
当我粘贴代码时,如何关闭自动缩进,但在编写代码时仍然有vim自动缩进? 这是我的.vimrc
文件:
set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
set bg=dark
set nowrap
要粘贴代码时关闭autoindent,有一个特殊的“粘贴”模式。
类型
:set paste
然后粘贴你的代码。 请注意,工具提示中的文本现在说-- INSERT (paste) --
。
粘贴代码后,关闭粘贴模式,以便在再次正确输入时自动缩进。
:set nopaste
但是,我总是觉得很麻烦。 这就是为什么我映射<F3>
,以便它可以在编辑文本时在粘贴和nopaste模式之间切换! 我将这添加到.vimrc
set pastetoggle=<F3>
为了避免粘贴时产生不良影响,需要设置一个选项:
set paste
在.vimrc中有一个有用的命令是set pastetoggle=<F10>
或其他一些按钮,以便在粘贴和nopaste之间轻松切换。
我通常使用:r! cat
:r! cat
,然后粘贴( shift + insert )
内容,并按CTRL+D
无需启用和禁用,直接使用。
链接地址: http://www.djcxy.com/p/1379.html