5

emacsclientを起動するたびに特定のlispコードを自動的に評価する方法については、ここをクリックしてください。

私の問題は違います。emacsclient -c新しいemacsフレームを(それに焦点を合わせて)開き(これを行う1つの方法は実行することです)、そのフレームで次のelispコードを実行するスクリプトを作成したいと思います。

(org-remember)

私は試した

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

ただし、フォーカスのない新しいフレームを開いてからelispコードを実行する場合もあれば、フォーカスのある新しいフレームを開いて古いフレームでelispコードを実行する場合もあります。

org-rememberが何をするかを知っている人は、なぜこれをしないのかと私に尋ねるかもしれません。

emacsclient -eval '(org-remember)'

しかし、それは古いフレームに焦点を合わせません。

4

2 に答える 2

3

ドキュメントがそれを宣伝しているにもかかわらず、私のバージョンのemacsclientは引数をサポートしていません。-c

これを行うためのよりクリーンな方法があるかどうかはわかりませんが、次のように and を使用してみてくださいmake-frameselect-frame

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

これにより、新しいフレームが作成されます。ウィンドウ マネージャーが自動的に選択しない場合は、フォーカスを与えてから、フォーカスのある新しいフレームで 2 番目のコマンドを実行します。

于 2009-12-30T16:34:45.377 に答える
2

すでに試した 2 つのコマンド ラインを 1 つにまとめてみてはどうでしょうか。

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

これは Emacs 23.1 で動作します。

于 2009-12-30T16:44:40.960 に答える