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