2009-12-30 64 views
3

For how to automatically evaluate certain lisp code every time starting an emacsclient, click here.如何在啓動新的emacsclient框架後運行某些elisp代碼?

我的問題是不同的。我想編寫一個腳本來打開一個新的emacs框架(注意它)(一種方法是運行emacsclient -c),然後在該框架中運行以下elisp代碼。

(org-remember) 

我試圖

emacsclient -c & emacsclient -eval '(org-remember)' 

但有時它只是打開一個新的幀沒有重點,然後運行elisp的代碼,而其他時候,它會打開專注一個新的框架,但運行在老的elisp代碼幀。

一些誰知道什麼組織記住並可能會問我,爲什麼不只是這樣做:

emacsclient -eval '(org-remember)' 

但這並不老框架上帶來焦點。

回答

4

我的版本emacsclient不支持-c參數,儘管the documentation advertising it

我不知道是否有這樣做一個乾淨的方式,但你可以嘗試使用make-frameselect-frame,像這樣:

emacsclient -e '(select-frame (make-frame))' '(org-remember)' 

這將創建一個新的框架,並在情況下,你的窗口管理器不會自動選擇它,授予焦點,然後使用具有焦點的新幀執行第二個命令。

3

怎麼樣只是你已經嘗試了兩個命令行合併爲一個:

emacsclient -c -e '(org-remember)' 

,在Emacs的23.1作品。

相關問題