《Vim 实用技巧必知必会》学习笔记Day21

Vim 在处理中日韩(CJK)文字时在格式化选项 formatoptions 里是有些特殊设置的。我们重点关注下面 4 个:

  • m:可以在任何值高于 255 的多字节字符上分行。这对 CJK 文本尤其有用,因为每个字符都是单独的单位。
  • M:在连接行时,不要在多字节字符之前或之后插入空格。优先于 B 标志位。
  • B:在连接行时,不要在两个多字节字符之间插入空格。有 M 标志位时无效。
  • ]:严格遵循 textwidth 选项。当设定这个标志时,除非断行禁则使得行长不可能保留在限定的文本宽度以内,行长不允许超出限定的文本宽度。这个选项主要用于 CJK 文字,并且仅在 encoding 是 utf-8 时才生效。

如果文档的主语言是中文(或日文、韩文),那 m 肯定是需要设置的,这样才能在中文之中断行。M 和 B 一般我们也会设置其中一个,取决于行文规则,在中文和西文字符之间是否手工插一个空格。如果不插空格,那就用 M;如果用空格(就像本文一样),那就用 B。由于 Vim 不区别汉字和汉字标点,使用 B 时会导致全角标点前后出现空格,我一般仍然使用 M 而不是 B。

我们应当记住:

  • 中英文文本编辑通常有段中换行和段中不换行两种惯例,英文文本使用段中换行居多,而中文文本使用不换行的比例要高得多。
  • Vim 的 textwidth 选项用来设置一行文本的最大(半角)字符数,对于英文,72 是一个常见的数值。
  • Vim 的 formatoptions 选项可以设置很多如何对文本进行格式化的标志,很多文件格式插件(ftplugin)会对其进行设置。
  • 模式行可以用来记录只对单个文件生效的 Vim 选项;如果文件有特殊的格式化要求,可以写在模式行里。
  • Vim 提供了拼写检查和拼写完成功能,可以用于英文等字母文字。如果使用段中不换行的惯例,则英文文本应当使用 linebreak 选项,但中文文本不应当使用该选项。
  • 在处理中文文本时,m、M、B 和 ] 是可能有用的特殊 formatoptions,应当根据实际需要使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值