問題タブ [zsh-zle]

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.

0 投票する
0 に答える
68 参照

zsh - 別のウィジェットが実行されている場合、コマンド ライン (zle -M "message") の下のメッセージをクリアする方法はありますか?

通常/頻繁に複数回連続して実行される zsh/zle ウィジェットがあります。を使用してメッセージを表示したいのですが、私のものzle -M以外のウィジェットが実行されている場合は、メッセージをクリアしたいと思います。それを行う方法はありますか?

ドキュメントに目を通しましたが、これを実現するためのフックやその他のものは見当たりません。$WIDGET私に起こった唯一のことは、 bindkey が報告するすべてのキーバインディングをヘッドパッチラッパーに置き換え、ヒットした場合はそれらを復元することですが、それは、$LASTWIDGETなどを見るウィジェットに問題を引き起こすと思います.

0 投票する
1 に答える
716 参照

git - preztoを使用して左と同じレベルに右のプロンプトを持つzsh

私はpreztozshも初めてです。今、私のbashシェルのように、現在のパスを左側に、現在のブランチを右側に配置したいのですが、これまでの写真でわかるように...

促す

... 問題は、プロンプトの右側の部分が 2 行目にあり、パスが含まれている行ではないことです!

(完全なソース コード:ここ)

カスタム prezto プロンプトの同じ行でパスとブランチの両方を実現するにはどうすればよいですか?

0 投票する
1 に答える
69 参照

zsh - ケース操作用のウィジェット: 通常モードでは「gU」、ビジュアル モードでは「U」

g~zle にはアクション用のウィジェットが既にあると思います。そのg~iwため、単語の大文字と小文字を反転します。

gUzshzle のマニュアルを読みましたが、vim で (大文字のアクション)の動作をするウィジェットが見つかりませんでした。

たとえば、「path_variable」という単語の場合、カーソルをvに合わせると、gUiW はワールドを「PATH_VARIABLE」に変更します。

ウィジェットcapitalize-wordは答えではないようです。私はそれをテストしました。

また、ビジュアル モードのキーUは、視覚的に選択されたテキスト/領域を大文字にしないこともわかりました。マニュアルにも、望ましい動作を実現するウィジェットが見つかりませんでした。

これはカスタム ウィジェットを作成することの問題ですか、それとも C コードの変更を含むアップストリームにパッチを提出する必要がありますか? zle vi-modeで目的の動作を実現するためにgU、通常モードとビジュアルモードでバインドするにはどうすればよいですか?U

0 投票する
1 に答える
334 参照

zsh - 初期プロンプトに RPROMPT が表示されない

RPROMPT を使用して zsh プロンプトを構成しようとすると、奇妙な問題が発生します。oh-my-zsh やその他のプラグイン マネージャーは使用していません。これが私の.zshrcファイルです:

ただし、最初のプロンプト (新しいシェル、または新しい tmux ウィンドウ/ペインを開くとき) には表示されfooません。(次に Enter キーを押すと、新しいプロンプトの RPROMPT が表示されます。)

1枚目に表示されないのはなぜですか?

0 投票する
1 に答える
660 参照

intellij-idea - IntelliJ ターミナルで特殊文字/アクセント文字をサポートする方法

0 投票する
2 に答える
1193 参照

command-prompt - ZSH プロンプトの描画中に現在のカーソル位置を取得する

ZSHシェルプロンプトを描画する関数内から、現在のカーソル位置(現在の行番号と列)を変数に読み込もうとしています。私の目標は、余分なスクロールを引き起こさないように十分な空行がある場合にのみ、プロンプトの下に表示することです。

インタラクティブ シェルでは、次のコマンドを使用できます。

ただし、 clean を開始し、zsh -fこれをプロンプトのレンダリング時に実行される関数に入れると、機能しなくなります。

端末から返された ANSI エスケープ シーケンスは、現在のコマンドに追加されます (キーボードで入力したかのように) が、read -t 1 -s -d 'R' line上記のコマンドでは取り込まれません。プロンプトの描画中に ZSH が STDIN へのアクセスを無効にしていると思われますが、一時的にアクセスを回復する方法がわかりません (プロンプトを描画する前、またはプロンプトを描画するのにかかる 10 分の 1 秒の間に入力された通常のキーボード キーストロークは、または、ZLE を使用してその情報にアクセスする方法。

編集:プロンプトが表示される前にユーザーがコマンドの先頭を既に入力している場合、その入力は破棄されるべきではありません。私がこれまでに見つけた解決策 (以下の私自身の回答を参照) は、残念ながらこれらの文字を読み取ってドロップします。新しいターミナル ウィンドウを開いてすぐに入力を開始すると、プロンプトが表示される前に入力した文字が破棄されるため、これはイライラします。