1

ファイルをその名前で識別しようとします。

たとえば、次のファイルがあります。

  • 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) からロードする場合、すべてが期待どおりです。

何か案は?

前もって感謝します!

4

1 に答える 1