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上看到输出。

emacs python plugin_使用 python 扩展 emacs相关推荐

  1. emacs python plugin_Windows上配置Emacs来开发Python及用Python扩展Emacs

    Windows下配置Emacs来开发Python去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Emacs来编代码, ...

  2. emacs python开发环境_配置Emacs下的Python开发环境

    特性 在Linux论坛上总有人问Python用什么IDE比较好,然后总会有人回答说Emacs.最近开始学Python,也花了点时间研究怎么配置Emacs,发现没有想象中的那么麻烦.这篇文章大致上来自于 ...

  3. Python:C语言扩展

    Python:C语言扩展 (2013-05-29 14:38:02) 转载▼ 标签: 杂谈 分类:Python   没有什么比对着书敲的代码仍然出错更令人沮丧了.<Python编程入门经典> ...

  4. Python的C/C++扩展

    Python的C/C++扩展 By phidoit@gmail.com 可扩展性是Python的一大特色,一方面,由于Python是解释执行的,这导致运行速度会比编译型语言慢,因此可以通过使用C/C+ ...

  5. python源程序文件的扩展名_python程序文件扩展名知识点详解

    python程序文件的扩展名称是什么 python程序的扩展名有.py..pyc..pyo和.pyd..py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言 ...

  6. python程序文件的扩展名称是什么_python程序文件的扩展名称是什么_Python教程,python,扩展名...

    python绘制正方形螺旋线_Python教程 python绘制正方形螺旋线的方法:1.使用import turtle as t导入绘图库,并设置别名为t:2.使用t.goto(x,y)方法以某一点为 ...

  7. [转载] 扩展Python之在Python中调用C编写的函数模块

    参考链接: 如何在Python中调用C函数 目录 编写Python扩展1. 创建应用代码2. 根据样板编写封装代码2.1 包含Python头文件2.2 为每一个模块函数添加形如PyObject* *M ...

  8. 【积水成渊-逐步定制自己的Emacs神器】3:为Emacs安装扩展

    前言 本文介绍了如何使用Emacs的Package-Mode来为其安装扩展包,讲解如何添加新的Package源和如何安装Package.以安装一个新的主题包Solarizd和Markdown编辑扩展M ...

  9. python批量修改文件扩展名

    python批量修改文件扩展名录 前言 代码如下 前言 利用python将文件夹里的.txt文件修改为.tif文件. 代码如下 import os dir='/home/下载/'#文件所在目录 fil ...

最新文章

  1. github 修改fork的代码之后如何提交代码并pull request
  2. OpenGL抗锯齿实例
  3. c++ 嵌套类 内部类
  4. Arduino学习笔记-新的按键控制方式
  5. 句句真研—每日长难句打卡Day3
  6. 如何做一张科技感、实用性兼备的大屏
  7. svn增量打包部署_实现Jenkins+svn+bat批处理构建svn版本差异增量的自动化打zip包
  8. [转帖]javascript做浮点数运算精确问题
  9. paip.版本控件svn删除文件或目录后的恢复
  10. Linux开发环境——tftp服务器的搭建
  11. vue.js快速入门 1
  12. TOEFL资料 280多个
  13. Ubuntu 20.04.2 LTS安装微信(wine)
  14. VBA--遍历所有工作表_冻结首行_无视工作表长度_and_所在单元格位置
  15. 在css中translate表示,css中位移translate()如何使用?translate用法总结
  16. 2020大厂面试集合,GitHub,百度,flutter下拉加载
  17. 浅谈天涯社区“工薪一族”爬虫
  18. 如何使用vim来进行编辑文档和脚本
  19. Laravel 速查表 Cache
  20. ITIL4 术语词汇表(附下载)

热门文章

  1. Linux信号 三 信号发送接口集合
  2. struts2.3.12+hibernate4.3.11+spring4.2.2整合问题2java.lang.ClassNotFoundException: org.springframework.w
  3. spring boot第六讲
  4. 产品 电信nb接口调用_电信NBIOT 1 - 数据上行(中国电信开发者平台对接流程)...
  5. 计算机英语语言学考研真题,考研类试卷英语专业语言学历年真题试卷汇编14
  6. 删除表的sql命令是什么_【技术干货】30个最适合初学者的SQL查询
  7. 学会python怎么赚钱 贴吧_我月薪5000,靠Python搞副业月入3万
  8. 多元统计分析最短距离法_聚醚多元醇的合成
  9. mysql php 入门_第一节 数据库概述_MySQL_php入门教程
  10. 开发c s架构java应用程序6_java常见面试题