3
假设我:set tw=5
,包裹以下 '长' 线的时候:Vim换行:如何在包装一行时自动插入反斜线''?
a = b + c
它变成:
a = b
+ c
然而,我希望它是:
a = b \
+ c
或者,如果更好在下一行之前插入智能缩进,如下所示:
a = b \
+ c
如何做到这一点?
假设我:set tw=5
,包裹以下 '长' 线的时候:Vim换行:如何在包装一行时自动插入反斜线''?
a = b + c
它变成:
a = b
+ c
然而,我希望它是:
a = b \
+ c
或者,如果更好在下一行之前插入智能缩进,如下所示:
a = b \
+ c
如何做到这一点?
你在找什么是: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