我是vimscript的新手,所以这可能很容易。我知道update
命令就像write
一样,除了只有在进行了更改时才会写入。我想要像
if ( update )
call expensiveOperation()
只有在update
实际执行某些操作时才会调用昂贵的操作。但是,我对vim不太熟悉,知道如何做到这一点。如何实现这一目标?
答案 0 :(得分:1)
不直接,有可能:如果update
选项看起来为真,&modified
会执行某些操作(当&buftype
为“nofile”或“nowrite”时,将忽略此选项的值)。因此,您应该执行以下操作:
let wasmodified=(&modified && !(&buftype is# 'nowrite' || &buftype is# 'nofile'))
update
if wasmodified
call ExpensiveOperation()
endif