나는 최근 에 Emacs에서 Running Shells를 읽고 , 정교한 Zsh 프롬프트를 조정하여 M-x shell
and 의 제한된 기능을 사용하도록 시간을 보냈다 M-x ansi-term
.
이 노력에 힘 입어 이제 Emacs에서 Zsh를 사용할 수있게되었지만 약간의 노력이 필요합니다 M-x ansi-term
. 나는 항상 4m
프롬프트 전에 길 잃은 텍스트 를 봅니다 .
보다시피,이 현상은 실제 프롬프트 테마와 무관 한 것 같습니다. 또한 내장 된 프롬프트, 심지어 멋진 제어 문자를 사용하지 않는 간단한 프롬프트와 함께 나타납니다. 사실, 기본 프롬프트에서도 발생합니다 (예 : my없이 Zsh를 시작하는 경우) .zshrc
.
글쎄, 그것은 단지 약간의 성가신 일이며, 그것을 제거 할 수 없다면 정말로 신경 쓰지 않을 것 M-x shell
입니다. 어쨌든이 문제가 발생하지 않는 곳을 선호 합니다.
그러나 실제로 디버깅하려고 시도했지만이 문제의 원인을 찾을 수 없었습니다. 그러나 터미널에 대한 나의 이해는 다소 제한적이므로 매우 명백한 부분을 놓쳤을 수도 있습니다.
OS X 10.10에 있습니다. 내 이맥스는 25.0.50이며 Homebrew를 사용하여 트렁크에서 직접 빌드하며 특별한 플래그는 없습니다. Zsh는 Yosemite에 포함 된 5.0.5이지만 Homebrew를 통해 설치된 5.0.7에서도 문제가 발생합니다.
누구나이 문제에 대해 밝힐 수 있습니까?
system-user-terminfo
아무것도 바꾸지 않았습니다. 변경 $TERM
으로 문제가 해결되었지만 해결책이 될 수 없습니까? 결국, 그것은 본질적으로 거짓말입니다 : ansi-term
xterm이 아니며 256 색상을 지원하지 않습니다.
\x1b[37;4m
37은 흰색이고 밑줄 친 텍스트는 4입니다. 문제를 재현 할 수 없습니다. 내 zsh을은 5.0.7 및 '는 $ TERM 에코' ANSI 기간에 날 수 있습니다 eterm 색을 내 이맥스는, 24.4.1 . 깨끗한 기본 버전 'env HOME = ~ / tmp / emacstest emacs -Q' 도 테스트 했지만 문제가 없습니다.
emacs -Q
Zsh 구성이 있거나 전혀없는 문제를 일관되게 재현 할 수 있습니다 .