从 zsh 完成选项中选择目录后如何保留尾部斜杠?

从 zsh 完成选项中选择目录后如何保留尾部斜杠?

桀骜,当我按两次 Tab 键进入“完成菜单”,选择一个目录并按 Enter 键时,它首先将带有尾部斜杠的所选目录添加到命令中,但是一旦我按空格键添加更多参数,它就会删除它。

即按空格后“rsync foo/”更改为“rsync foo”。

有没有办法禁用这种行为?

它迫使我总是手动为命令添加斜杠,例如同步尤其。

答案1

要保留/完成后添加的目录或目录的符号链接,请关闭该选项auto_remove_slash默认情况下处于打开状态。

setopt no_auto_remove_slash

对于许多命令,保留尾部斜杠对目录没有影响,但如果参数是目录的符号链接,则会导致命令作用于目标目录而不是符号链接。对于 rsync 源参数,尾部斜杠会导致目录合并到目标而不是复制到子目录。

相关内容