Pymacs 可以使得emacs能和python程序进行交互,可以让emacs插件开发者尽量使用python进行开发。这里提供一个例子,在lisp中调用python的函数并将当前buffer的文件名传递给python,在emacs中输出python函数的返回值
首先安装 python 包 Pymacs. 在 ubuntu 里面安装 pymacs 即可。
然后安装emacs插件pymacs, el-get-install 或者 package-install 都可以
目录结构如下:
├── sample
│ └── __init__.py
└── setup.py
__init__.py 的内容:
from Pymacs import lisp interactions = {} def hello_word(filename): return 'Hello from python, file name is %s' % filename interactions[hello_word] = ''
setup.py 的内容:
from setuptools import setup, find_packages setup( name = "sample-pymacs", version = "0.1", packages = find_packages() )
安装这个模块
python setup.py install
如果一切正常, 在 python 中可以 import sample
创建一个lisp文件:
(pymacs-load "sample") (message (sample-hello-word buffer-file-name))
将光标移动到每一行上并使用 C-M-x 来执行该行 lisp 代码, 执行后会在emacs上看到输出。