假设我:set tw=5在包装以下'long'行时:
a = b + c
Run Code Online (Sandbox Code Playgroud)
它成为了:
a = b
+ c
Run Code Online (Sandbox Code Playgroud)
但我希望它是:
a = b \
+ c
Run Code Online (Sandbox Code Playgroud)
如果在下一行之前插入智能缩进,甚至更好,如下所示:
a = b \
+ c
Run Code Online (Sandbox Code Playgroud)
怎么做?
你在寻找什么:h formatexpr.
您需要定义一个表达式来检查您所处的模式mode() ==# 'i',然后执行您希望发生的更改.返回非零将使用默认的expr.
例如
set formatexpr=FormatFoo()
function! FormatFoo()
if mode() ==# 'i'
echom "insertmode line wrap"
return 1
else
echom "normalmode line wrap"
return 1
endif
endfunction
Run Code Online (Sandbox Code Playgroud)