0

シェルから emacs を起動して、Lisp 関数を実行するように指示することができます。

emacs -f some-lisp-function my_file.py

ただし、次のような引数付きのlisp関数も渡したいと思います

emacs -f "(goto-line 10)" my_file.py
# --> not working

そして何よりも、次のような複数の関数呼び出しで構成されるより複雑な Lisp コードも渡します。

emacs -f "(goto-line 10) (some-other-func some-arg)" my_file.py
# --> not working

誰かが方法を知っていますか?

編集:この点を明確にするために、ファイルを開いた後、ファイル自体のバッファーで Lisp コードを評価する方法が必要です。

(ところで、goto-lineの問題は使用せずに別の方法で解決できることは知っていますが、それ-fは私の一般的な問題の一例にすぎません)

4

2 に答える 2

6

試してみてくださいemacs my_file.py --eval '(progn (goto-line 10) (some-other-func some-arg))'emacs +10 my_file.pyまた、Emacs as を呼び出すと、ファイルの 10 行目で開くことに注意してください。

于 2013-08-03T13:17:41.513 に答える
2

Emacs が呼び出されたコマンド ラインにアクセスできます。独自のコマンド ライン スイッチを処理するコードを追加できます。あなたが望むものに応じて、これはよりきれいかもしれません--evalhttp://www.gnu.org/software/emacs/manual/html_node/elisp/Command_002dLine-Arguments.htmlおよびEmacs カスタム コマンド ライン引数を参照してください。

于 2013-08-03T17:07:52.260 に答える