小编cbo*_*wns的帖子

使用 zsh 完成 git:带空格的文件名没有被正确转义

Git完成:

我的系统上的 git 文件名自动完成有困难。我在 OS X (10.9.3) 上使用zsh(5.0.5) 和git(1.9.3)。双方zshgit已通过自制软件已经安装完毕。(完整版输出在帖子底部。)

git的文件名补全没有像我期望的那样插入空格。当我输入名称中带有空格的文件名时,shell 会插入文件名而不转义空格。zsh的内置完成不会这样做,但git's 做了。

这是我所看到的一个例子。

我有一个存储库,其中包含一些名称中带有空格的文件。

% ls -la
test
test four - latest.txt
test three.txt
test two
Run Code Online (Sandbox Code Playgroud)

当我使用制表符完成插入文件名时,shell 反斜杠会按预期对文件名进行转义。

% echo "testing" >> test<tab>
Run Code Online (Sandbox Code Playgroud)

点击标签三下后自动完成。

% echo "testing" >> test\ four\ -\ latest.txt
––– file
test                       test\ four\ -\ latest.txt  test\ three.txt            test\ two                
Run Code Online (Sandbox Code Playgroud)

git status 用引号显示这些文件名(它完全理解发生了什么):

% git status --short
 M test
 M "test four - latest.txt" …
Run Code Online (Sandbox Code Playgroud)

zsh git autocomplete

22
推荐指数
1
解决办法
3394
查看次数

标签 统计

autocomplete ×1

git ×1

zsh ×1