zsh 補完オプションからディレクトリを選択した後、末尾のスラッシュを保持するにはどうすればよいですか?

zsh 補完オプションからディレクトリを選択した後、末尾のスラッシュを保持するにはどうすればよいですか?

翻訳Tab キーを 2 回押して「補完メニュー」に入り、ディレクトリを選択して Enter キーを押すと、最初に選択したディレクトリが末尾のスラッシュとともにコマンドに追加されますが、スペースキーを押してさらに引数を追加するとすぐに削除されます。

つまり、スペースキーを押すと、「rsync foo/」は「rsync foo 」に変更されます。

この動作を無効にする方法はありますか?

次のようなコマンドには常に手動でスラッシュを追加する必要があります。rsync特に。

答え1

完了後に追加されたディレクトリまたはディレクトリへのシンボリックリンクを保持するには/、オプションをオフにしますauto_remove_slashデフォルトではオンになっています。

setopt no_auto_remove_slash

多くのコマンドでは、末尾のスラッシュを保持してもディレクトリには違いはありませんが、引数がディレクトリへのシンボリック リンクである場合、コマンドはシンボリック リンクではなくターゲット ディレクトリに対して動作します。rsync ソース引数の場合、末尾のスラッシュがあると、ディレクトリはサブディレクトリにコピーされるのではなく、宛先にマージされます。

関連情報