14

我主要通过vi命令从终端使用 vim 。

我想创建并保存一个名为getting started.txt的文件(两个单词之间有空格)。我尝试了两种方法:

方法#1

:sav getting started.txt

但我得到一个错误:E172: Only one file name allowed

方法#2

:sav "getting started.txt"

这次我得到了:E471: Argument required

我怎样才能达到我想要的?

4

2 回答 2

15

转义空格字符:

:sav getting\ started.txt
于 2012-06-15T20:51:56.253 回答
6

评论者@ib 提到fnameescape,这里是你如何使用它:

  1. 输入:save和一个空格。
  2. Ctrl-R然后=进入表情模式。
  3. 输入fnameescape("Your spacey, special character'y file name")Tab扩展工作,所以你可能可以做fnTabeTab.
  4. 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 
于 2015-04-06T21:22:25.343 回答