我主要通过vi命令从终端使用vim .
我想创建并保存一个名为getting started.txt的文件(两个单词之间有空格).我尝试了两种方法:
:sav getting started.txt
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误: E172: Only one file name allowed
:sav "getting started.txt"
Run Code Online (Sandbox Code Playgroud)
这次我得到了: E471: Argument required
我怎样才能实现我的目标?
pb2*_*b2q 12
逃离空间角色:
:sav getting\ started.txt
Run Code Online (Sandbox Code Playgroud)
评论者@ib 提到fnameescape,这是您可以使用它的方法:
:save一个空格。fnameescape("Your spacey, special character'y file name")。Tab扩展工作,所以你可能可以做fnTabeTab。海报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
Run Code Online (Sandbox Code Playgroud)