問題タブ [zsh-completion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - ZSH Symfony コンソールのオートコンプリート
Symfony のコンソール用の ZSH オートコンプリート スクリプトを作成しようとしています。ほぼ完成しましたが、最後の部分でブロックしています。関数 return のおかげで配列を作成する必要がありますが、処理方法がわかりません。私が書いたコードは次のとおりです。
コマンドラインを実行すると、適切な方法でフォーマットされます。ただし、ZSH で使用すると、出力は次のようになります。
フォーマットされた関数は次を返します。
表示されない単語は、コマンド補完として使用されます。ここに例があります: Asciinema example .
戻り値を配列に直接使用すると、うまく機能します。
linux - zsh compinit: 安全でないディレクトリ。Compaudit は /tmp ディレクトリを表示します
Raspberry Pi 2 (Raspbian Jessie) で zsh を実行しています。zshは、ディレクトリが安全でないcompinit
と不平を言っています。/tmp
そのため、ディレクトリのアクセス許可を確認しました。
どうやら /tmp ディレクトリでは誰でも何でもできるようです。その目的を考えると、これは理にかなっています。だから私はこのスタックオーバーフローの質問に関する提案を試みました。他のサイトでも同様の提案を試みました。具体的には、そのディレクトリに対するグループの書き込み権限をオフにすることを提案しています。に従って権限がどのように見えるかによりls -ld
、「すべて」の書き込み権限もオフにする必要がありました。そう:
これはzshをシャットダウンします。しかし、他のプログラムが壊れ始めました。たとえば、文字「l」を入力するたびに gnome-terminal がクラッシュしました。このため、書き込み権限をオンに戻しcompinit -u
、.zshrc
.
私が知りたいこと:これを修正するより良い方法はありますか? compinit に安全でないディレクトリを使用させるのが良い考えかどうかはわかりません。私の dotfiles リポジトリはここでホストされており、現在実行しているファイルcompinit -u
はここにあります。
autocomplete - zsh オートコンプリート フェイルオーバーを compdef _files にする方法
次を使用してsshキーのフィンガープリントを取得する必要がありました。
入力後:ssh-keygen -lf ~/.ss
TABオプションはありませんでした。
私がしなければなりませんでした:
その後、ファイルパスを使用してオートコンプリートを利用できましたが、オートコンプリートコマンドが機能しなくなったため、入力ssh-keygen -
Tabしても次の出力が表示されなくなりました。
両方のオプションを有効にして、次のようなことができるようにする方法があるかどうか疑問に思っています。
ssh-keyg
TABそれは私に与えるでしょう:
それから私はすることができます
$ ssh-keygen -
TAB
これにより、オプションメニューが出力され、実行できるようになります。
$ ssh-keygen -lf ~/.ss
TAB
そして、機能する可能性のあるオプションのリストを持っているので、最後に次のようなものが得られます:
今のところ、~/.zshrc
これに追加するだけです:
しかし、_files補完を使用したいaveryコマンドに対してそれを行う必要があるため、常に使用_files
またはフェイルオーバーする方法があるかどうかを知りたいです。
何か案は?
+をcsh
押すとファイルオプションが表示されるように動作させることは可能でしょうか?Ctrld
アップデート:
-f
最後の引数が の場合、オートコンプリートが機能することに気付きました。
ssh-keygen -l -f ~/.ssh
TAB
しかし、カスタム スクリプトの場合、どのような機能をコマンドするか、ウィジェット エイリアスが_files
補完を強制するのに役立ちます。
zsh - zsh完了無視リスト?
.zshrc を次のように設定しています。
ディレクトリには、Cc と C_1.c の 2 つのファイルがあります。私が行った場合
私は得る
もう一度実行すると、次のように完了します
それで、私の質問は、なぜ C_1.c がまったく無視されているのですか? を押したときに bash が行うように、zsh に C* の選択を促すにはどうすればよいですか?
ありがとう
bash - エイリアスのように bash 関数 + grc を使用すると、Zsh の補完が壊れます
grc / grcat を使用して、この関数で端末出力を色付けしています。
しかし、これは私の.zshrcでoh-my-zshを使用してセットアップした私のzsh補完とプラグインを壊しています:
docker stop
たとえば、使用しようとすると、ANSI エスケープ シーケンスで補完が行われます。$'\033'\[0m$'\033'\[1m$'\033'\[33mhigh_wright$'\033'\[0m
それを回避し、これらのエスケープ シーケンスを補完のみにフィルター処理する方法はありますか?
編集
docker プラグインの .oh-my-zsh ディレクトリでこのファイルを見つけました: https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/docker/_docker
この関数を変更する必要があることは理解していますが、方法がわかりません。