使用 python 扩展 emacs

Pymacs 可以使得emacs能和python程序进行交互,可以让emacs插件开发者尽量使用python进行开发。这里提供一个例子,在lisp中调用python的函数并将当前buffer的文件名传递给python,在emacs中输出python函数的返回值

安装

首先安装 python 包 Pymacs. 在 ubuntu 里面安装 pymacs 即可。

然后安装emacs插件pymacs, el-get-install 或者 package-install 都可以

写一个 python 模块

目录结构如下:

├── 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中调用python 模块

创建一个lisp文件:

(pymacs-load "sample")
(message (sample-hello-word buffer-file-name))

将光标移动到每一行上并使用 C-M-x 来执行该行 lisp 代码, 执行后会在emacs上看到输出。


你可能感兴趣的:(python,emacs)