假设我:set tw=5
,包装以下' long'行:
a = b + c
变成:
a = b
+ c
但我希望它是:
a = b \
+ c
如果在下一行之前插入智能缩进,那就更好了,如下所示:
a = b \
+ c
怎么做?
答案 0 :(得分:5)
您要找的是:h formatexpr
。
您需要定义一个表达式,用于检查mode() ==# 'i'
中的模式,然后执行您希望发生的更改。返回非零将使用默认的expr。
E.g。
set formatexpr=FormatFoo()
function! FormatFoo()
if mode() ==# 'i'
echom "insertmode line wrap"
return 1
else
echom "normalmode line wrap"
return 1
endif
endfunction