Windowsでzshを設定し、すべてのプロンプトのすぐ上の行の最初の文字位置に逆(白地に黒(黒の端末の背景))パーセント記号を表示しています。
通常、これは、ファイルの末尾に改行がないことを意味します。たとえば、ファイルをcat
-する場合などです。
それは私のMacでも、WindowsのMinttyでも起こりません。しかし、それはConEmuとCMD.EXEが通常実行される標準のターミナルアプリで発生します。
私はすでにすべてのプロンプト文字列と、プロンプトの上に空白行を追加するために通常使用するprecmd()
をunset
しました。
それが何であるかについての手掛かりはありますか?
関連するオプションはおそらくPrompt_SP
であり、マニュアルからの説明です
Prompt_CRオプションが原因でコマンドPromptでカバーされる部分的な行(つまり、改行で終わっていない行)を保持しようとします。これは、一連のスペースを含むいくつかのカーソル制御文字を出力することで機能します。これにより、部分的な行が存在する場合に端末が次の行に折り返されます(これは、端末に自動マージンがある場合にのみ成功します。これは一般的です)。 。
部分行が保持されている場合、デフォルトでは、部分行の最後に逆+太字が表示されます。通常のユーザーの場合は
%
、ルートの場合は#
です。設定されている場合、シェルパラメータPrompt_EOL_MARK
を使用して、部分行の終わりの表示方法をカスタマイズできます。
だから、あなたはどちらかをします
unsetopt Prompt_SP
隠蔽された行を気にしない場合(ただし、最初に%
記号が表示されるため、あなたの場合は空の行のように見えます)。
または使用
setopt Prompt_CR
setopt Prompt_SP
export Prompt_EOL_MARK=""
これは部分的な行を保持しますが、%
を削除します-プロンプトでいくつかの空行を犠牲にします。
これを永続的にするには、~/.zshrc
を更新します。
cmd.exe
ではこの動作を再現できないため、これはブラインドショットです。
そのため、zsh + oh-my-zshでもまったく同じ問題が発生していました。
私はmpyとそれらの行の助けを借りてそれを修正しました:
setopt Prompt_CR
setopt Prompt_SP
エクスポートPrompt_EOL_MARK = ""
->〜/ .oh-my-zsh/themes/XXXXXXに移動する必要があります。oh-my-zshで使用しているテーマを開く必要があります。
このファイルを開いて、ファイルの最後にある3行をコピー/過ぎてください。
そして、その修正済み!
良い一日をお過ごしください。これが一部の人々の助けになることを願っています。
平和
ConEmu内でminttyを実行できます。それは私のためにパーセントを取り除きました。
これが私がタスクパラメータに持っているものです:
/icon "%ConEmuDrive%\msys64\msys2.ico"
およびコマンド:
set CHERE_INVOKING=1 & %ConEmuDrive%\\msys64\usr\bin\mintty.exe -i "%ConEmuDrive%\msys64\msys2.ico" -