Vim换行:如何在换行时自动插入反斜杠'\'?

时间:2014-09-05 01:54:13

标签: vim indentation

假设我:set tw=5,包装以下' long'行:

a = b + c

变成:

a = b
+ c

但我希望它是:

a = b \
+ c

如果在下一行之前插入智能缩进,那就更好了,如下所示:

a = b \
  + c

怎么做?

1 个答案:

答案 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