コメンター @ib が言及していfnameescape
ます。使用方法は次のとおりです。
- とスペースを入力
:save
します。
- Ctrl-Rを押し=て式モードに入ります。
- を入力し
fnameescape("Your spacey, special character'y file name")
ます。Tab拡張が機能するので、おそらく実行できますfn
Tabe
Tab。
- を押しEnterて、エスケープされたファイル名をコマンド ラインに挿入します。
ポスターiler.ml は、これを簡単に行うための関数を提案しています (私は彼のコードを少し変更しました)。これを.vimrcに入れてください:
" :W and :Save will escape a file name and write it
command! -bang -nargs=* W :call W(<q-bang>, <q-args>)
command! -bang -nargs=* Save :call Save(<q-bang>, <q-args>)
function! W(bang, filename)
:exe "w".a:bang." ". fnameescape(a:filename)
endfu
function! Save(bang, filename)
:exe "save".a:bang." ". fnameescape(a:filename)
endfu