使用预定义的lisp代码从shell启动emacs

使用预定义的lisp代码从shell启动emacs,shell,emacs,lisp,Shell,Emacs,Lisp,可以从shell启动emacs并告诉它执行lisp函数,例如 emacs -f some-lisp-function my_file.py 但是,我还想传递带有参数的lisp函数,如 emacs -f "(goto-line 10)" my_file.py # --> not working 在最好的情况下,pass还可以传递由多个函数调用组成的更复杂的lisp代码,如 emacs -f "(goto-line 10) (some-other-func some-arg)" my_fi

可以从shell启动emacs并告诉它执行lisp函数,例如

emacs -f some-lisp-function my_file.py
但是,我还想传递带有参数的lisp函数,如

emacs -f "(goto-line 10)" my_file.py
# --> not working
在最好的情况下,pass还可以传递由多个函数调用组成的更复杂的lisp代码,如

emacs -f "(goto-line 10) (some-other-func some-arg)" my_file.py
# --> not working
有人知道怎么做吗

编辑:为了澄清这一点,我需要一种方法,在打开文件后,在文件自己的缓冲区中计算lisp代码


(顺便说一句,我知道不使用
-f
可以以不同的方式解决转到行问题,但这只是我一般问题的一个例子)

尝试
emacs my_file.py--eval'(progn(转到行10)(一些其他函数一些参数))
。还请注意,以
Emacs+10 my_file.py的形式调用Emacs将在第十行打开文件。

您可以访问调用Emacs的命令行。您可以添加代码来处理自己的命令行开关。根据需要,这可能比
--eval
更干净。见和

多谢各位。不幸的是,它不是我想要的,例如
emacs--eval'(progn(转到第10行))“my_file.py
将无法完成预期的任务。我所寻找的是一种在加载后在文件自己的缓冲区中评估lisp代码的方法。我刚刚在我的帖子中编辑了命令行顺序,以完全满足您的要求。我刚刚测试了它,它在Emacs 24.3.50.7上运行