26 June 2015
Vim在一行的特定位置自动添加换行符
设置方法
这样正常写的文件到80个字符就会换行,对于已经存在的段落,只要选中它们,然后按gq就 可以了。
tw是textwidth的缩写,fo是formatoptions的缩写。
自动换行
是指当每行文本超过n个字符的时候vim自动添加换行符的行为。自动换行可以通
过设置textwidth属性实现,即:
只有新输入文本的才会触发自动换行。对于已经存在的文本段落,则不会触发自动换行。如 果想对已存在的文本段落进行自动换行,只要选中它们(Normal模式下按大写V),然后按 gq就可以了。
需要注意的是,如果段落中某个单词很长,超出了textwidth设置的字符,这种情况下也不 会触发自动换行。由于中文字词句之间没有空格,所以光靠设置textwidth是无法触发自动 换行的。这时候需要通过设置formatoptions来解决:
m - 总是拆分大于255的多字节字符。这样vim就可以在汉字段落(以及其他东亚字符段落) 中自动插入换行符了。
M - 当合并行的时候,在多字节字符的前后不加空格。这个选项会覆盖B标志。这样可以保 证自动换行的时候不出现多余的空格。
自动折行
是指把很长的一行文本段落用多行显示,但是不在文件里添加换行符。