2010-05-10 3 views
4

최근에 Emacs 23과 함께 제공되는 Ubuntu 10.04로 업그레이드되었습니다. Emacs로 인용을 푸시려면 Jabref가 필요합니다.emacsclient -eval "(insert "something ")"이 (가) 나를 위해 작동하지 않습니다.

그러나 emacsclient를 통해 인용을 푸시하는 Jabref 플러그인을 설치했지만 작동하지 않습니다.

필자는 테스트를했고 Emacs Lisp Intro의 일부를 읽었다.

emacsclient --eval "(switch-to-buffer \"*sratch*\")" 

이맥스 창은 버퍼로 전환 : 나는 (콘솔에서)를 입력하면

일부 명령은 예를 들어, 일을. 그러나 삽입 명령을 내릴 경우 :

emacsclient --eval "(insert \"do you see me?\")" 

텍스트가 현재 버퍼에 삽입되지 않습니다.

이맥스 23이 삽입물에 변화를 가져 왔습니까?

답변

4

을 요는 서버 버퍼에 삽입되어, 가능성이 가장 높습니다.

emacsclient --eval '(with-current-buffer "*scratch*" (insert "do you see me?"))' 
+1

고마워요! Emacs Lisp Intro를 읽는 동안 잠시 보냈고 buffer-name 함수를 테스트하는 동안 "* server *"이름을 보았습니다. 내 질문을 더 어려운 것으로 재구성해야한다고 생각합니다. 현재 프레임에서 편집중인 "버퍼"에 텍스트를 삽입 할 수 있습니까? 별도의 질문으로 작성하고 종료해야합니까? – manu

+2

찾았습니다 : (with-current-buffer (윈도우 버퍼) (insert you "I do you you!")) – manu

2

Emacs23는 emacsclient 및 서버에 대해 변경됩니다.

표현은 버퍼에 평가 "* 서버 *"당신이 삽입하기 전에 버퍼를 변경해야합니다 그래서 ... (선두 공간) :

emacsclient --eval "(with-current-buffer \"*scratch*\" (insert \"foo\"))" 
관련 문제