我发现这个answer关于使用非常有用的parens来包装字符串,但是Vim中是否有办法让它自动发生?我想要在一个字符串中,打字,并让Vim只是在我的字符串周围放置parens并根据需要包装它。对我来说,这将是一个巨大的节省时间,因为我花了很多时间手工包装长字符串。提前谢谢。
示例:
我输入以下文字:
mylongervarname = "my really long string here so please wrap and quote
automatically"
当我用字符串命中第80列时,Vim会自动执行此操作:
mylongervarname = ("my really long string here so please wrap and "
"quote automatically")
答案 0 :(得分:12)
更多的方向而非解决方案。
使用'formatexpr'
或'formatprg'
。当一行超过'textwidth'
并通过'formatoptions'
设置的标准时,会使用这些标准(如果设置)来破坏该行。唯一真正的区别是'formatexpr'
是vimscript表达式,而'formatprg'
通过外部程序过滤该行。
因此,如果您知道可以对python代码行进行此转换的格式化程序,或者愿意编写一个格式化程序,那么这将为您提供一个钩子来执行它。由于vim支持python(参见:help python
),你甚至可以在python中编写你的python格式化程序。