
ConEmu シェルで奇妙な動作が観察されました:
ConEmu ウィンドウを水平方向にサイズ変更し、clink を有効にすると、サイズ変更が完了した後にシェル プロンプトが再度表示されます。
これは本当に迷惑で、分割、分割の移動などのサイズ変更のような操作のたびに発生します。
ブートアップ バッチでは、次のコードを使用してプロンプトを設定します (conemu のデフォルトの cmd タスクと同じ)。
::
:: Form the command prompt
::
:: This will start prompt with `User@PC `
set ConEmuPrompt0=$E[32m$E]9;8;"USERNAME"$E\@$E]9;8;"COMPUTERNAME"$E\$S
:: Followed by colored `Path`
set ConEmuPrompt1=%ConEmuPrompt0%$E[92m$P$E[90m
if NOT "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
if "%PROCESSOR_ARCHITEW6432%" == "AMD64" if "%PROCESSOR_ARCHITECTURE%" == "x86" (
rem Use another text color if cmd was run from SysWow64
set ConEmuPrompt1=%ConEmuPrompt0%$E[93m$P$E[90m
)
)
:: Carriage return and `$` or `>`
:: Spare `$E[90m` was specially added because of GitShowBranch.cmd
if "%ConEmuIsAdmin%" == "ADMIN" (
set ConEmuPrompt2=$_$E[90m$$
) else (
set ConEmuPrompt2=$_$E[90m$G
)
:: Finally reset color and add space
set ConEmuPrompt3=$E[m$S$E[0m
:: Set the prompt
prompt %ConEmuPrompt1%%ConEmuPrompt2%%ConEmuPrompt3%
これまでの私の観察は次のとおりです: 1. 問題は clink が挿入された場合にのみ発生します。 2. 問題はプロンプトに改行文字が含まれている場合にのみ発生します。
サイズ変更時に clink がプロンプトを消去して再表示するのには何らかの理由があると思われます。この問題は、clink 機能を有効にしてウィンドウを水平方向にサイズ変更しようとすると、標準の ConEmu で簡単に再現できます。
完璧な Windows シェルにあと少しです...
ご協力いただければ幸いです。
編集1: Console2 でテストして、これが clink の問題であることを確認しました。