afuse を使用して、sshfs を使用して他のホストをローカル ファイル システムに自動マウントします。そのようです:
afuse -o timeout=30 -o mount_template=sshfs -C %r:/ %m -o unmount_template=fusermount -u -z %m ~/remote/
これはうまく機能しますが、 ~/remote ディレクトリを使用してオートコンプリート/TAB コマンドを実行できるようにしたいと考えています。afuse は魔法のような仮想 FUSE ファイル システムであるため、Zsh は ~/remote が空であると考えるのも当然です。ホストを手動で入力すると、サブディレクトリは正常に機能します。例 ~/remote/host/[TAB] は問題なく動作します。
ほとんどの zsh compdef チュートリアルは、カスタム コマンドのカスタム コンプリータの構築に焦点を当てています。それは私が望むものではありません。
私は compdef を使用して、その特定のディレクトリの補完をホストファイルにオーバーライドしようとしましたが (組み込みの _hosts 補完機能を使用)、理解する限り、compdef はコマンドごとに機能します。そのディレクトリで通常のファイル/ディレクトリ補完を実行しようとするすべてのコマンドでコンプリータが動作するようにします。
私がその方法を知っていれば、それは非常に基本的で、ワンライナーのように感じます. これどうやってするの?