問題タブ [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.
macos - OSX 上の ZSH: cd ~ および ~/ タブ補完の問題
現在、OSX (10.10.3) で prezto で ZSH を使用していますが、タブの補完に問題があります。次のいずれかを入力した後、常にタブキーを押すことができました。
ユーザーのホームフォルダーの内容を含むディレクトリメニューが表示されます。
タブを押すと、何らかの理由で次のようになります。
これは、入力cd ~/
してタブを押した結果です
autonamedirs と cdablevars を無効にしようとしました。また、prezto を再インストールし、homebrew によってインストールされた最新の zsh である /usr/local/bin/zsh を使用してみました。
助けていただければ幸いです、ありがとう
編集 #1
出力を分離し、以下の prezto config を追加しました。
.zpreztorc
どの_cd
zsh - Zsh:一連の文字に続いてどこでもファイル補完を強制する方法は?
word
コマンドラインの一連の文字の後の任意の位置でファイル補完を機能させる方法を見つけようとしています。シェルにリストされているように、これらの文字は次のようになります[ =+-\'\"()]
(空白はタブとスペースです)。Zsh はこれを行いますが、バッククォート文字 '`' または$(
. mksh は、文字の後を除いてこれを行います[+-]
。
コマンド ラインの単語位置とは、スペースとその他のいくつかの文字で区切られた、入力する文字の各セットのことです。例えば、
print Hello World
、
1 ~ 3words
の位置に 3 つあります。1 番目の位置では、最初に何かを入力しているときに、補完はほぼ完璧です。ファイル補完は、私が言及したすべての文字の後に機能します。最初word
の の後、補完システムはスマートであるため、より制限されます。これはコマンドには便利ですが、ファイル補完を実行できる場所を制限することは特に役に立ちません。
ファイル補完が機能しないが、私の意見では機能する必要がある場所の例を次に示します。
: ${a:=/...}
echo "${a:-/...}"
make LDFLAGS+='-nostdlib /.../crt1.o /.../crti.o ...'
env a=/... b=/... ...
'^I'
Zsh に付属しているいくつかの異なる補完ウィジェットを使用して (タブ) を再バインドし、zstyle ':completion:*'
行を変更する方法を調べました。これまでのところ、このデフォルトの Zsh の動作を変更するものは何もありません。最後の手段として、行の最後に追加できる補完関数を作成する必要があると考えていますzstyle ':completion:*' completer ...
。
補完関数では、1 つのルートは、現在補完したいものを切り取ってword
補完し、可能であれば補完を行に再挿入することです。また、通常のコマンド補完が機能するように、2 番目を 1番目に_precommand
シフトするようにすることもできます。word
word
任意の位置_precommand
でコマンドを完了できるように変更できました。word
これが新しいファイルです。名前を付けて_commando
、そのディレクトリを fpath に追加しました。
それを使用するため':completion:*' completer ...
に、zshrc の行末に追加したので、すべてのプログラムで動作し$path
ます。基本的word
に、入力しているものは最初の と見なされるため、コマンドラインのすべての位置word
でコマンド補完が機能します。word
ファイル補完のために同じことを行う方法を見つけようとしていますが、一見するともう少し複雑に見えます。どこに行けばいいのかわからないので、これについて何か助けを求めています。
zsh - Zsh CASE_SENSITIVE は何もしません
大文字と小文字を区別するファイルシステムを使用して Mac をインストールしました。
Zshが以前ほど流暢ではないことを除けば、すべて問題ありません。Oh-My-Zsh 変数が.zshrcCASE_SENSITIVE
でコメントアウトされていることを確認しましたが、タブのオートコンプリートを使用すると、さまざまなケースのフォルダーを見つけることができません。
未設定であることを確認しましたCASE_SENSITIVE
:
これはバグですか、それとも何か足りないだけですか?
zsh - zsh 補完 - 特定の MIME タイプのファイルを一覧表示する
画像ビューアー アプリケーションのオートコンプリート スクリプトを作成しています。特定の MIME のディレクトリ内のファイルのみを一覧表示するように指定する方法はありますか? つまり、すべての種類の mimeimage
です。
私が今していること:
_arguments -C \
... # Handle flags
'*:images:_files -g "{*.jpg,*.png}"'
これをすべての画像タイプに拡張するのは少し面倒です。
mercurial - zsh での mercurial のブランチ名のオートコンプリート
zsh にとても興奮していましたが、大きな問題が発生しました。
のオートコンプリートがhg update
機能しません。次のようにzsh_completion
ファイルに(最新のmercurialソースから)ファイルを含め.zshrc
ました(ホームディレクトリに移動した後):
しかし、うまくいかないようです。入力hg up def<tab>
しても完了しません。
私も試しrm -f ~/.zcompdump; compinit
てみましたが、同様に役に立ちませんでした。と を使用zsh 5.1.1 (x86_64-apple-darwin15.0.0)
してoh-my-zsh
います。
私の実際.zshrc
: