Windows下配置Emacs来开发Python
去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Emacs来编代码,也许是个很牛的技能。
但是在看了一次Tutorial后,就因为复杂的快捷键和不同于一般编辑器的操作方式放弃了这个想法。
今年开始工作以后,公司还没有给我发配项目,让我有时间学了些Python入门。在寻找合适的编辑器的时候,搁置脑后许久的Emacs突然被揪了出来。
重新开始打开教程,耐着性子看完,并稍微记住了几个快捷键,总算能够磕磕绊绊的使用了。
然后在开始寻找Emacs上使用Python的方法的时候,才发现原来Emacs的插件配置对于新手这么棘手。中文的资料本来就少,而且大多数还是在Linux/Mac系统上的。向我们这样在Windows上使用Emacs的“少数人口”似乎很难入门。
今天在公司,花了一下午时间,各种搜索,各种尝试,各种折腾,总算是让Emacs用上了Python-mode插件。虽然似乎用的最多的和功能更全的是iPython插件,不过今天为止还没有弄明白。以后有机会再更新后续内容吧。今天就把再Window环境下Emacs配置Python-mode插件的方法记录下来。
Emacs的下载安装
下载
Emacs官方地址
http://www.gnu.org/software/emacs/
下载地址:(windows 版本)
http://ftp.gnu.org/gnu/emacs/windows/
下载最新版本的zip包就可以
安装
下载解压后,进入根目录下的bin文件夹,运行addpm.exe安装,安装后在开始菜单中会加入GNU Emacs项。
当然你也可以选择不安装,直接调用emacs.exe 或 runemacs.exe打开Emacs。
入门
运行Emacs后,点击Help菜单下的“Emacs Tutorial”进入Emacs自带的教程文档。(教程文档很高质量,向文档创建\译制者们致敬)还可以点击“Emacs Tutorial(choose language)”来选择不同的语言。
读完教程能帮助初学者快速入门和对Emacs最基本的概念进行理解,并能简单的进行Emacs的日常使用。
Emacs的功能十分强大,更多的应用还需要使用者日后不断地学习。
Python的安装
Python的安装请参考其他资料,为了编辑速度,这里先集中说明Emacs的配置。
Emacs配置使用Python-mode
Emacs配置
在很多有关Emacs配置的资料里,都会提到说“~/.emacs.d/”路径和“~/.emacs”文件,我折腾了很久没找到。后来才发现,“~”所指的HOME路径在window系统里是C:\Users\(username)\AppData\Roaming :
按Windows7系统本身的HOME目录配置的话,C:\Users\(username)\AppData\Roaming 这个HOME目录太深了,而且默认状态下AppData目录是隐藏的,最最关键的是:如果系统盘一旦出问题,之前的.emacs配置文件和.el的扩展都得重新配置和下载。接下来很多资料上会教你怎样更改HOME目录以更方便的使用它。但事实上,初次使用Emacs的用户如果没有经常要更改配置文件的需要的话,使用原本的目录就足够了,如果你的电脑已经设置显示隐藏文件的话,这个目录也不是特别难找。
~/.emacs 文件并不是一开始就存在的。在Emacs的Options菜单里随便设置一项,比如点选 Highlight Matching Parenthesis 然后选择 Save Options, mini缓冲区里就会显示 “Wrote c:/Users/(username)/AppData/Roaming/.emacs”这时进入HOME目录就能看到.emacs文件和.emacs.d目录了。
python-mode
python-mode下载:
https://launchpad.net/python-mode
下载解压,进入Python shell 运行
>python setup.py install安装。Python shell的进入方式在安装python的资料里都会有,大家自行参考。
(require 'python-mode) (add-to-list 'auto-mode-alist '("\\.py'" . python-mode))
运行Emacs,便会自行配置好python-mode了。
运行
配置好python-mode后,用emacs打开任何.py文件,输入 M-x py-execute-buffer 来运行python代码。
使用快捷键 C-c C-c 也是一样的效果。
使用 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上看到输出。
本书简述了Chrome平台开发的概念、扩展与应用的区别及其常用功能,并结合具体场景给出了实例。主要介绍了Chrome扩展基础、Chrome扩展的UI界面、管理浏览器和部分高级API划分,讲解了文件系统、网络通信、操作USB设备和串口通信等多个与操作系统紧密相关的内容,还介绍了Chrome主题开发、支持国际化的程序开发,以及如何使用Angular框架进行开发。 本书以直观生动的实例帮助读者理解知识要
问题内容: 当我在Windows上进行多平台测试时,由于我在特殊的Mac自定义任务中拥有com.apple.eawt代码,因此Eclipse在项目中显示错误变得很烦人。更糟糕的是,如果我在Windows上导出可运行的jar,则由于未解决的编译问题,它将无法在mac上运行。 让Windows Java和com.apple.eawt和平共处的最佳方法是什么?我看不到如何将代码剥离到jar中,因为它需要
本文向大家介绍Windows下Eclipse+PyDev配置Python+PyQt4开发环境,包括了Windows下Eclipse+PyDev配置Python+PyQt4开发环境的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Windows下配置Python PyQt4开发环境的详细步骤,供大家参考,具体内容如下 1. 下载相关软件 Eclipse下载地址:http://www.ecli
问题内容: 考虑这些表达式…请耐心等待…这是一个很长的清单… (注意:有些表达式是重复的-只是为了表示一个“上下文”) 你如何理解这种复杂性和混乱性。手工计算表达式的结果时,如何总是对的。或者,当阅读其他人的代码时,我应该只是忽略它们,而从不试图理解表达式的实际作用吗? 问题答案: 对于这篇文章的篇幅,我深表歉意,但我决定选择完整性。 一旦你了解了一些基本规则,就不难概括它们。我将尽力举例说明。由
虽然用了书名号,但它是我的一个业余项目而已,它以Sara Golemon在2005年著作的《Extending and Embedding PHP》一书为蓝本翻译修改而来。这里先对Sara女士表示感谢,为我们奉献了这么优秀的一本技术图书。截止到目前(2011年),这几年以来,PHP的应用在中国突飞猛进,已经渗透到了互联网的各个方面,现在每个公司里都不可能一点没有PHP的影子了。有关PHP语言自身的
本文向大家介绍Python发展简史 Python来历,包括了Python发展简史 Python来历的使用技巧和注意事项,需要的朋友参考一下 Python是我喜欢的语言,简洁,优美,容易使用。前两天,我很激昂的向朋友宣传Python的好处。 听过之后,朋友问我:好吧,我承认Python不错,但它为什么叫Python呢? 我不是很确定:呃,似乎是一个电视剧的名字。 朋友又问:那你说的Guido是美国人