Vim:文本自动换行在达到`textwidth`最大值时不会换行到下一行

时间:2016-10-23 17:10:29

标签: vim

以下是我的vimrc配置。我希望文本在达到textwidth最大值时被包装到下一行。

syntax on
set tabstop=4
set linebreak
set wrap
filetype indent off
set paste
set tw=120
set ruler

我使用Macbook pro 2014,El Capitan,iterm2。

我也试过set formatoptions+=cqtrol

1 个答案:

答案 0 :(得分:1)

这是set paste的效果。来自paste的Vim帮助:

When the 'paste' option is switched on (also when it was already on):
    ...
    - 'formatoptions' is used like it is empty

formatoptions的默认值为vt,其中t是自动换行所必需的:

t       Auto-wrap text using textwidth 

请参阅:help fo-table

因此,您应该从配置中删除set paste,或者通过set nopaste命令暂时取消

我建议默认保留nopaste,即删除set paste,然后使用pastetoggle选项。例如,以下命令配置F12键以切换粘贴模式。

set pastetoggle=<F12>