我主要通过 vi 命令从终端使用vim。
我想创建并保存一个名为 getting started.txt 的文件(两个单词之间有空格)。我尝试了两种方法:
:sav getting started.txt
但是我收到了一个错误: E172: Only one file name allowed
:sav "getting started.txt"
这次我得到了: E471: Argument required
我如何实现我的目标?
答案 0 :(得分:12)
逃离太空人物:
:sav getting\ started.txt
答案 1 :(得分:4)
评论者@ib提及fnameescape
,以下是如何使用它:
:save
和空格。fnameescape("Your spacey, special character'y file name")
。 Tab 扩展有效,因此您可以fn
Tab e
Tab 。海报iler.ml suggests这是一个容易做到这一点的功能(我稍微修改了他的代码)。把它放在你的 .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