ファイルをその名前で識別しようとします。
たとえば、次のファイルがあります。
- 2300039_2234552_779799_ABC.xml
- 2234439_2456644_123423_XYZ.xml
および次の自動コマンド:
autocmd BufRead,BufNewFile *.xml call CheckFileType()
テスト ケースでは、現在のファイル名をグローバル変数に保存するだけです。
function! CheckFileType()
let g:filename = expand("%:p:t")
endfunction
ファイルの読み込みが完了したら、ファイル名をエコーします。
echo g:filename
結果: 223443~1.XML
しかし、識別のために完全なファイル名が必要です!
後でファイルをリロードしてファイル名をもう一度エコーすると、長いファイル名が表示されます。え?
この動作は、extern からファイルをロードする場合にのみ表示されます (例: "C:\Vim\vim73\gvim.exe" --remote-silent C:\2234439_2456644_123423_XYZ.xml)。インターン (:e) からロードする場合、すべてが期待どおりです。
何か案は?
前もって感謝します!