新しいファイルが書き込まれるたびに、Vimにコマンド「CommandTFlush」を実行させようとしています。Command-Tプラグインを使用していない場合は、「CommandTFlush」コマンドを使用して、現在のディレクトリ内のファイルのインデックスを再構築します。
私がやりたいのは、ファイルがディスクに書き込まれた後にコマンドを実行することです。これにより、CommandTFlushがファイルを見つけて、そのインデックスに追加します。
自分で関数を書いてみましたが、起動しないか、起動が早すぎます(ファイルが書き込まれる前に、ファイルをインデックスに追加することが重要です)。
au! BufWritePre * ks| call NewFilesUpdatesCommandT()
function! NewFilesUpdatesCommandT()
let filename=@%
if !filereadable(filename)
CommandTFlush
endif
endfunction
BufWritePreでブール変数(isTheFileNew)を設定し、ファイルが作成されたばかりの場合はBufWritePostでCommandTFlushコマンドを実行することで解決できると思いますが、構文がわかりません。別の解決策は、可能であれば、BufWritePreコールバック内からBufWritePostコールバックを設定/設定解除することです...
誰かがここで私を助けてくれますか?;)