2008-12-15 3 views
15

나는 이맥스 세션에서 모든 Zsh 키를 재 매핑하지 않고 Zsh을 사용하려고 노력했다. 나는 ansi-term이 꽤 잘 작동한다는 것을 알았지 만, 여전히 문제가 있습니다. 많은 정크 문자가 출력되었지만 다음과 같이 고칠 수있었습니다.Emacs ansi-term과 Zsh를 멋지게 연주하기

## Setup proper term information for emacs ansi-term mode 
[[ $TERM == eterm-color ]] && export TERM=xterm 

그러나 모든 것이 완벽하게 작동하지 않습니다. 이제 출력이 화면 밖으로 그려지는데 특히 C-r과 같은 것을 검색 할 때 문제가 있습니다.

모든 의견. 누구든지 Zsh + Ansi-term이 제대로 작동합니까?

+3

+1 - 당신이 유일한 사람이 있습니다. 하지만, 나는이 문제를 tty 모드의 mac에서만 경험한다. – SetJmp

답변

3

흠. 나는 아마 20 년 만에 그것을 시도하지는 못했지만, ansi-term 내에서 멋진 편집 작업을 본적이 없다고 생각합니다. 쉘 모드 (M-x shell)를 사용해 본 적이 있다면 EMACS를 사용하는 것이 더 자연 스럽기 때문에 물어볼 것입니다.

즉, term.el 파일을 읽으면 ansi-term과 같이 보입니다. 자체적으로 maning을 많이합니다. 최소한 EMACS 22.3에서 1230 행을 시작으로 원시 모드 코드라는 용어를 살펴볼 수 있습니다.

+0

'shell '만이 저에게 효과적이었습니다. 감사! – duma

0

나는 그것을 알아 냈다. 이맥스 설정 문제였습니다. 내 이맥스에서 elisp의이 비트를 일으키는 : 도움을

(custom-set-variables 
'(fringe-mode nil nil (fringe)) 
'(fringes-outside-margins t t)) 

감사합니다.

-1

가짜 경보로 해결되지 않았습니다. 창 크기를 조정하지 않으면 제대로 작동한다는 것이 발견되었습니다. 나는 그것을 좋아 재현 할 수 있습니다 :

  1. 시작을 깨끗한 이맥스 -q
  2. 시작 ANSI-용어를 사용 zsh을
  3. 확인 창이 전체 화면 화면을
  4. 유형 CR
  5. 을 채 웁니다
  6. 출력 뭔가
  7. 프롬프트가 화면에서 벗어납니다.

어쩌면 내가 할 수있는 방법이 있습니다. 오버 슛을 보상하기 위해 출력과 미니 버퍼 사이의 공간이 더 큽니까?

+2

안녕하세요. 자세한 정보가있는 "답변"을 추가하는 대신 원래의 질문을 편집하고 업데이트하십시오. –

1

나는 꽤 오랫동안 이것을 찾고있었습니다. 나에게 다음을 추가하려면

;; ansi-term 

(global-set-key "\C-x\C-a" '(lambda()(interactive)(ansi-term "/bin/zsh"))) 
(global-set-key "\C-x\ a" '(lambda()(interactive)(ansi-term "/bin/zsh"))) 

작품. 나는 이것을 http://svn.assembla.com/svn/id774/scripts/dot_files/dot_emacs.d/elisp/global-set-key.el에서 골랐습니다.

그 스크립트에는 다른 좋은 점이있을 것이라고 확신합니다. 추가 보너스 화면이 나를 위해 이맥스와 잘 어울리는 것처럼 보입니다.

12

시도 MultiTerm.

zsh과 잘 어울리는 이맥스 터미널 모드입니다. Emacs가 캡쳐하고 싶은 명령과 터미널에 전달할 명령을 쉽게 설정할 수 있습니다. 지금까지 기본 설정으로는 충분했습니다.

또한 다음과 같이 .zshrc를 추가하면 emacs가 cd 할 때 현재 디렉토리를 추적 할 수 있습니다.이맥스의 명령 내역 검색을위한

if [ -n "$INSIDE_EMACS" ]; then 
    chpwd() { print -P "\033AnSiTc %d" } 
    print -P "\033AnSiTu %n" 
    print -P "\033AnSiTc %d" 
fi 
+1

대단하군요. 이것을 ssh 연결로 확장하는 방법을 알고 있습니까? (예를 들어, 내 셸이 특정 경로의 원격 컴퓨터에 연결되었다고 가정). –

+0

@ AmelioVazquez-Reina - 내가 그랬 으면 좋겠어. 그것은 정말 유용 할 것입니다. – bengineerd

0

사용 M-R,하지 C-R

관련 문제