是否可以为vim中的go代码和注释设置不同的文本宽度?

时间:2016-09-16 08:06:51

标签: vim go

例如,textwidth=100用于go代码,textwidth=80用于go comment。

1 个答案:

答案 0 :(得分:2)

使用我的OnSyntaxChange plugin,您可以根据您当前所处的语法元素触发设置更改。

return (
  <tr>
    {cells.map(cell => {
      const keyId = `${row.id}${cell.id}${cell.name}`
      return (<td key={keyId}>{cell.val}</td>})
    }}
  </tr>
)

将其放入call OnSyntaxChange#Install('GoComment', '^Comment$', 1, 'a') autocmd User SyntaxGoCommentEnterA setlocal textwidth=80 autocmd User SyntaxGoCommentLeaveA setlocal textwidth=100 。 (这需要您~/.vim/after/ftplugin/go.vim。或者,您可以直接在:filetype plugin on中定义:autocmd FileType go ...(对于每一行),但是一旦您进行了多次自定义,这往往会变得难以处理。< / p>

替代

较小的非插件变体是自定义~/.vimrc映射,它会临时更改gq,执行重新格式化,然后恢复原始值。但这仅适用于手动触发的段落重新格式化。