2013-08-23 3 views
3

최근 Emacs를 주 편집기로 사용하기 시작했습니다. 나를 귀찮게하는 것이 하나 있습니다 : 쉘에서 Emacs를 시작하면 Emacs가 새 창에서 시작됩니다. 쉘에 의해 호출되면 쉘에서 시작하고 작업 영역에서 호출 될 때 새 윈도우에서 시작하도록합니다.양식 쉘을 시작할 때 쉘에서 Emacs를 시작하십시오.

내가 놓칠 수있는 설정이나 어떤 종류의 리스프로도이 작업을 수행 할 수 있습니까? 내가 Xfce와 물고기 - 쉘 (http://fishshell.com/)

감사합니다, 로빈과 Manjaro을 사용하고

+5

'emacs -nw'와 같은 뜻입니까? – jlahd

+0

감사합니다 jlahd, 나는 'emacs -nw'을 몰랐습니다. 셸에서 시작할 때 -nw를 사용하여 emacs를 자동 호출하는 방법이 있습니까? – robotroll

+2

쉘에 별칭을 만들어야합니다 (예 : 'alias em "emacs -nw"'. 그 후 쉘에서'em'을 실행하면'emacs -nw'가 실행됩니다. – jlahd

답변

4

그래서이 별명 솔루션,하지만 발생할 Pb를 내가 가끔 이맥스는 Ctrl 키와 함께 잠을 만들 것입니다 -z 그리고 나는 나의 이명을 다시 사용하기 위해 이맥스 세션을 시작했다는 것을 잊어 버린다. 그리고 나는 터미널에서 두 개의 이맥으로 끝나고, 나는 나를 귀찮게한다.

bind -x '"\C-x\C-e":fg %emacs' 

Emacs- : 나는 잠자는 이맥스를 회복 할 수있는 편리한 바로 가기를 정의

cemacs() { 
if (ps|grep emacs); then 
    echo "Hey, emacs is already running";  
    fg %emacs 
else 
    emacs -nw [email protected] 
fi 
} 

바로 가기 : 은 그래서 이맥스가 이미 실행중인 경우 확인하는 기능을 사용 서버

그래서 제가 꽤 오래 사용했습니다. g, 완벽하지는 않습니다. 이맥스 서버를 사용하지 않는 한 정상적인 이맥스를 시작한 다음 내 기능을 시작할 수 없습니다. 서버 : http://wikemacs.org/index.php/Emacs_server

emacsclient -t에 대한 별명을 작성하기 만하면됩니다.

와 쉘 모드

하지만 지금은 많이 복사 - 붙여 넣기를하기 위해, 쉘의 버퍼 주위를 이동하는 마우스없이 찾아 너무 편리합니다 (이맥스 내 터미널을 사용하는 것을 선호 문자열, 출력의 시작 부분으로 이동, dired가있는 파일 조작 ...).

1

좋은 아이디어!

edit_file_in_emacs_console() { 
    emacsclient -t [email protected] || emacs -q -nw [email protected] 
} 

if [ "$PS1" ]; then 
    alias emacs=edit_file_in_emacs_console 
fi 

그래서 나는 가능한 경우 현재 이맥스 서버를 사용하거나 간단한 이맥스 콘솔 (-q) 빠른 시작을 위해 :

난 그냥 내 .bashrc에 업데이트되었습니다.