[[Vimモード (Obsidian)|Vimモード]]で `:w` コマンドを実行したときに特定の処理を実行するやり方。[[CodeMirror]]のイベントを検知するので `CodeMirrorAdapter.commands.save` を使う。
```ts
window.CodeMirrorAdapter.commands.save = () => {
// 実行したい処理
};
```
> [!info]
> このイベントが実行される直前にファイルの内容は最新に保存されているため、[[Obsidian]]の `editor:save-file` コマンドや、fileCacheのように古い情報が渡されない点も優れている。
> [!caution]
> [[Obsidian]]の `editor:save-file` コマンドやオートセーブ実行時には処理は実行されない。