0

我是 vimscript 的新手,所以这可能很容易。我知道这个update命令,write除了它只在进行了更改时才写入。我想要类似的东西

if ( update )
    call expensiveOperation()

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

4

1 回答 1

1

不是直接的,它是可能的:update如果&modified选项似乎为真,则执行一些操作(当&buftype“nofile”或“nowrite”时,此选项的值被忽略)。因此,您应该执行以下操作:

let wasmodified=(&modified && !(&buftype is# 'nowrite' || &buftype is# 'nofile'))
update
if wasmodified
    call ExpensiveOperation()
endif
于 2012-08-11T18:02:13.050 回答