コメンター @ib が言及していfnameescapeます。使用方法は次のとおりです。
- とスペースを入力
:saveします。
- Ctrl-Rを押し=て式モードに入ります。
- を入力し
fnameescape("Your spacey, special character'y file name")ます。Tab拡張が機能するので、おそらく実行できますfnTabeTab。
- を押し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