cmder 에서 화살표 키로 예전 명령어 호출시 첫 글자가 남아있는 문제 해결
cmder 에서 화살표 키로 command history 호출시 첫 글자가 계속 남는 버그가 있었습니다.
즉 아래와 같이 mplayer 를 입력한 후에 화살표 ↑ 로 예전 명령어를 호출합니다.
그러면 예전 명령어(예: cls) 앞에 이전에 입력한 명령어의 첫 글자인 m 이 계속 남아 있게 됩니다.
명령어 히스토리를 제대로 사용할 수 없는 매우 짜증나는 버그였는데 오늘 github 에서 찾아 보니 해결책이 있었습니다.
원인은 prompt 에 사용하는 lambda 문자 (λ) 가 locale 마다 폰트의 크기가 달라서 렌더링이 달라지는 게 원인이었습니다.
해결책은 다음과 같이 vendor/clink.lua 파일을 열어서 다음 내용을 찾은 후에 람다 문자(λ) 를 $ 나 기타 프롬프트로 선호하는 문자로 변경해 주면 됩니다.
local lambda cmder_prompt = string.gsub(cmder_prompt, "{cwd}", cwd) if env == nil then lambda = "λ" else lambda = "("..env..") λ"