我有一个函数可以让我循环通过不同的包装状态,设置一堆选项(例如formatoptions
,重新映射0
,$
和其他线条移动等。 )取决于包裹是否已关闭(set nowrap
和set textwidth=0
)软(set wrap
和set textwidth=0
)或硬(set textwidth=78
)。
如果通过函数设置 wrap-state,这一切都可以正常。
如果不是(例如,如果第三方插件设置了包装状态),那么这些选项/映射不会被设置/重置。
如果有其他代码触发这些事件,我有办法处理这些事件吗?也就是说,每当更改wrap
或textwidth
时,都会调用函数(或命令)来相应地调整键映射和选项?
[注意:为清晰起见而编辑]
答案 0 :(得分:2)
没有OptionChanged
左右的事件;您可以做的最好的事情是使用一组频繁触发的事件,例如: CursorHold,CursorHoldI,CursorMoved,CursorMovedI
。如果存储选项的先前值并将其与当前值进行比较,则可以确定它是否已更改。