Vim 仅当update命令执行某些操作时才执行脚本

Vim 仅当update命令执行某些操作时才执行脚本,vim,Vim,我是vimscript新手,所以这可能是一个简单的例子。我知道update命令与write类似,只是它仅在发生更改时才写入。我想要点像这样的 if ( update ) call expensiveOperation() 其中,仅当update实际执行某项操作时才调用昂贵的操作。但是,我对vim不够熟悉,不知道如何做到这一点。如何实现这一点?不直接,有可能:更新在&modified选项显示为真时执行一些操作(当&buftype为“nofile”或“nowrite”时忽略此选项的值)。因

我是vimscript新手,所以这可能是一个简单的例子。我知道
update
命令与
write
类似,只是它仅在发生更改时才写入。我想要点像这样的

if ( update )
    call expensiveOperation()

其中,仅当
update
实际执行某项操作时才调用昂贵的操作。但是,我对vim不够熟悉,不知道如何做到这一点。如何实现这一点?

不直接,有可能:
更新
&modified
选项显示为真时执行一些操作(当
&buftype
为“nofile”或“nowrite”时忽略此选项的值)。因此,您应该执行以下操作:

let wasmodified=(&modified && !(&buftype is# 'nowrite' || &buftype is# 'nofile'))
update
if wasmodified
    call ExpensiveOperation()
endif