我主要是从终端使用vim 六 命令。
我想创建并保存一个名为的文件 开始.txt (两个单词之间有空格)。我尝试了两种方法:
方法#1
:sav getting started.txt
但是我收到了一个错误: E172: Only one file name allowed
方法#2
:sav "getting started.txt"
这次我得到了: E471: Argument required
我怎样才能实现我想要的目标?
我主要是从终端使用vim 六 命令。
我想创建并保存一个名为的文件 开始.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")
。 标签 扩展工作,所以你可以做 fn
标签e
标签。海报 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