為什麼我的提示在水平 ConEmu 調整大小時重新列印?

為什麼我的提示在水平 ConEmu 調整大小時重新列印?

我在 ConEmu shell 中觀察到一個奇怪的行為:

當我水平調整 ConEmu 視窗大小並啟用叮噹聲時,完成調整大小後,將再次列印 shell 提示字元:

前:在此輸入影像描述

後:在此輸入影像描述

這真的很煩人,並且發生在每次調整大小之類的操作上,例如分割、移動分割。

在我的啟動批次中,我使用以下程式碼來設定提示符號(與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. 只有當提示符號也有換行符時才會出現問題。

我想在調整大小時,叮噹會以某種方式錯誤地刪除並重新列印提示。透過啟用叮噹聲功能並嘗試水平調整視窗大小,可以在普通 ConEmu 上輕鬆重現問題。

我距離完美的 Windows shell 只差一點點了...
任何幫助都是值得讚賞的。

EDIT1:剛剛透過在 Console2 中測試來確認它是一個叮噹聲問題。

相關內容