새 인스턴스 대신 이미 열려 있는 Emacs의 bash 명령줄에서 파일을 여는 방법은 무엇입니까? 내가 입력할 때
$ emacs file.txt
기존 Emacs 인스턴스에서 파일을 여는 대신 새 Emacs 인스턴스를 엽니다. 맥 OS X 10.6.8. 그리고
GNU Emacs 23.4.1 (x86_64-apple-darwin10.8.0, NS apple-appkit-1038.36)
beta.macosforge.org의 2012-02-27
답변1
당신이 찾고 있는 것은 emacs 서버 모드입니다. .emacs 파일에 다음 줄을 추가하세요:
(server-start)
그런 다음 emacsclient를 사용하여 파일을 엽니다.
emacsclient foobar.txt
보세요이것자세한 내용은 페이지를 참조하세요.
Emacs를 수동으로 시작하거나 자동 시작으로 설정하지 않으려면 실행 중인 서버에 연결을 시도하고(실행하여 emacsclient
) 그렇지 않은 경우 emacs
대신 실행하는 작은 함수를 작성할 수 있습니다. 이것을 쉘의 구성 파일(예 ~/.bashrc
: )에 추가하십시오.
emacs(){
emacsclient "$@" 2>/dev/null || /usr/bin/emacs "$@"
}
이제 간단히 실행하면 emacs file
서버가 시작되거나 기존 인스턴스에 연결됩니다.
답변2
다음 해결책을 어디서 찾았는지 기억나지 않습니다. 죄송합니다. 그러나 그것이 나에게 최적으로 작동했기 때문에 여기에 추가했습니다.
.emacs
emacs 서버가 시작되었는지 확인하십시오 .
(server-start)
다음으로 .bashrc
함수를 정의합니다.
function run_emacs
{
/usr/bin/emacsclient "$1" &
}
환경 변수를 설정합니다.
export EDITOR=emacsclient
export ALTERNATE_EDITOR=emacs
마지막으로 별칭을 정의합니다.
alias emacs='run_emacs'