例如,textwidth=100
用于go代码,textwidth=80
用于go comment。
答案 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
,执行重新格式化,然后恢复原始值。但这仅适用于手动触发的段落重新格式化。