Ответ 1
Сбросить символ пробела:
:sav getting\ started.txt
В основном я использую vim из терминала командой vi.
Я хочу создать и сохранить файл с именем get started.txt (есть пробел между двумя словами). Я пробовал два метода:
:sav getting started.txt
но я получил ошибку: E172: Only one file name allowed
:sav "getting started.txt"
На этот раз я получил: E471: Argument required
Как я могу достичь того, что хочу?
Сбросить символ пробела:
:sav getting\ started.txt
Комментарий @ib упоминает fnameescape
, вот как вы можете его использовать:
:save
и пробел.fnameescape("Your spacey, special character'y file name")
. Tab работает, поэтому вы можете сделать fn
Tab e
Tab.Плакат 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