私はvimscriptが初めてなので、これはおそらく簡単なものです。変更が加えられた場合にのみ書き込むことを除いて、update
似たようなコマンドを知っています。write
次のようなものが欲しい
if ( update )
call expensiveOperation()
update
高価な操作は、実際に何かを行った場合にのみ呼び出されます。しかし、私はこれを行う方法を知るほど vim に精通していません。これはどのように達成できますか?
私はvimscriptが初めてなので、これはおそらく簡単なものです。変更が加えられた場合にのみ書き込むことを除いて、update
似たようなコマンドを知っています。write
次のようなものが欲しい
if ( update )
call expensiveOperation()
update
高価な操作は、実際に何かを行った場合にのみ呼び出されます。しかし、私はこれを行う方法を知るほど vim に精通していません。これはどのように達成できますか?
直接ではなく、可能です:オプションが true のように見えるupdate
場合、何らかの操作を実行&modified
します (このオプションの値は、&buftype
が「nofile」または「nowrite」の場合は無視されます)。したがって、次のことを行う必要があります。
let wasmodified=(&modified && !(&buftype is# 'nowrite' || &buftype is# 'nofile'))
update
if wasmodified
call ExpensiveOperation()
endif