Windows上配置Emacs來開發(fā)Python及用Python擴(kuò)展Emacs
Windows下配置Emacs來開發(fā)Python
去年在網(wǎng)上偶然的一個(gè)機(jī)會(huì)知道了Emacs的存在,在周圍前輩們都在夸贊Sublime好用的時(shí)候,喜歡跟大眾唱反調(diào)的我,突然覺得如果能用Emacs來編代碼,也許是個(gè)很牛的技能。
但是在看了一次Tutorial后,就因?yàn)閺?fù)雜的快捷鍵和不同于一般編輯器的操作方式放棄了這個(gè)想法。
今年開始工作以后,公司還沒有給我發(fā)配項(xiàng)目,讓我有時(shí)間學(xué)了些Python入門。在尋找合適的編輯器的時(shí)候,擱置腦后許久的Emacs突然被揪了出來。
重新開始打開教程,耐著性子看完,并稍微記住了幾個(gè)快捷鍵,總算能夠磕磕絆絆的使用了。
然后在開始尋找Emacs上使用Python的方法的時(shí)候,才發(fā)現(xiàn)原來Emacs的插件配置對于新手這么棘手。中文的資料本來就少,而且大多數(shù)還是在Linux/Mac系統(tǒng)上的。向我們這樣在Windows上使用Emacs的“少數(shù)人口”似乎很難入門。
今天在公司,花了一下午時(shí)間,各種搜索,各種嘗試,各種折騰,總算是讓Emacs用上了Python-mode插件。雖然似乎用的最多的和功能更全的是iPython插件,不過今天為止還沒有弄明白。以后有機(jī)會(huì)再更新后續(xù)內(nèi)容吧。今天就把再Window環(huán)境下Emacs配置Python-mode插件的方法記錄下來。
Emacs的下載安裝
下載
Emacs官方地址
http://www.gnu.org/software/emacs/
下載地址:(windows 版本)
http://ftp.gnu.org/gnu/emacs/windows/
下載最新版本的zip包就可以
安裝
下載解壓后,進(jìn)入根目錄下的bin文件夾,運(yùn)行addpm.exe安裝,安裝后在開始菜單中會(huì)加入GNU Emacs項(xiàng)。
當(dāng)然你也可以選擇不安裝,直接調(diào)用emacs.exe 或 runemacs.exe打開Emacs。
入門
運(yùn)行Emacs后,點(diǎn)擊Help菜單下的“Emacs Tutorial”進(jìn)入Emacs自帶的教程文檔。(教程文檔很高質(zhì)量,向文檔創(chuàng)建\譯制者們致敬)還可以點(diǎn)擊“Emacs Tutorial(choose language)”來選擇不同的語言。
讀完教程能幫助初學(xué)者快速入門和對Emacs最基本的概念進(jìn)行理解,并能簡單的進(jìn)行Emacs的日常使用。
Emacs的功能十分強(qiáng)大,更多的應(yīng)用還需要使用者日后不斷地學(xué)習(xí)。
Python的安裝
Python的安裝請參考其他資料,為了編輯速度,這里先集中說明Emacs的配置。
Emacs配置使用Python-mode
Emacs配置
在很多有關(guān)Emacs配置的資料里,都會(huì)提到說“~/.emacs.d/”路徑和“~/.emacs”文件,我折騰了很久沒找到。后來才發(fā)現(xiàn),“~”所指的HOME路徑在window系統(tǒng)里是C:\Users\(username)\AppData\Roaming :
按Windows7系統(tǒng)本身的HOME目錄配置的話,C:\Users\(username)\AppData\Roaming 這個(gè)HOME目錄太深了,而且默認(rèn)狀態(tài)下AppData目錄是隱藏的,最最關(guān)鍵的是:如果系統(tǒng)盤一旦出問題,之前的.emacs配置文件和.el的擴(kuò)展都得重新配置和下載。接下來很多資料上會(huì)教你怎樣更改HOME目錄以更方便的使用它。但事實(shí)上,初次使用Emacs的用戶如果沒有經(jīng)常要更改配置文件的需要的話,使用原本的目錄就足夠了,如果你的電腦已經(jīng)設(shè)置顯示隱藏文件的話,這個(gè)目錄也不是特別難找。
~/.emacs 文件并不是一開始就存在的。在Emacs的Options菜單里隨便設(shè)置一項(xiàng),比如點(diǎn)選 Highlight Matching Parenthesis 然后選擇 Save Options, mini緩沖區(qū)里就會(huì)顯示 “Wrote c:/Users/(username)/AppData/Roaming/.emacs”這時(shí)進(jìn)入HOME目錄就能看到.emacs文件和.emacs.d目錄了。
python-mode
python-mode下載:
https://launchpad.net/python-mode
下載解壓,進(jìn)入Python shell 運(yùn)行
>python setup.py install
然后將解壓后的 python-mode.el 文件復(fù)制到HOME目錄.emacs.d文件夾下。
打開.emacs文件, 添加如下內(nèi)容:
(require 'python-mode) (add-to-list 'auto-mode-alist '("\\.py'" . python-mode))
運(yùn)行Emacs,便會(huì)自行配置好python-mode了。
運(yùn)行
配置好python-mode后,用emacs打開任何.py文件,輸入 M-x py-execute-buffer 來運(yùn)行python代碼。
使用快捷鍵 C-c C-c 也是一樣的效果。
使用 python 擴(kuò)展 emacs
Pymacs 可以使得emacs能和python程序進(jìn)行交互,可以讓emacs插件開發(fā)者盡量使用python進(jìn)行開發(fā)。這里提供一個(gè)例子,在lisp中調(diào)用python的函數(shù)并將當(dāng)前buffer的文件名傳遞給python,在emacs中輸出python函數(shù)的返回值
安裝
首先安裝 python 包 Pymacs. 在 ubuntu 里面安裝 pymacs 即可。
然后安裝emacs插件pymacs, el-get-install 或者 package-install 都可以
寫一個(gè) python 模塊
目錄結(jié)構(gòu)如下:
├── sample │ └── __init__.py └── setup.py
__init__.py 的內(nèi)容:
from Pymacs import lisp interactions = {} def hello_word(filename): return 'Hello from python, file name is %s' % filename interactions[hello_word] = ''
setup.py 的內(nèi)容:
from setuptools import setup, find_packages setup( name = "sample-pymacs", version = "0.1", packages = find_packages() )
安裝這個(gè)模塊
python setup.py install
如果一切正常, 在 python 中可以 import sample
在lisp中調(diào)用python 模塊
創(chuàng)建一個(gè)lisp文件:
(pymacs-load "sample") (message (sample-hello-word buffer-file-name))
將光標(biāo)移動(dòng)到每一行上并使用 C-M-x 來執(zhí)行該行 lisp 代碼, 執(zhí)行后會(huì)在emacs上看到輸出。
相關(guān)文章
用python生成(動(dòng)態(tài)彩色)二維碼的方法(使用myqr庫實(shí)現(xiàn))
今天小編就為大家分享一篇用python生成(動(dòng)態(tài)彩色)二維碼的方法(使用myqr庫實(shí)現(xiàn)),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Tensorflow卷積神經(jīng)網(wǎng)絡(luò)實(shí)例
這篇文章主要為大家詳細(xì)介紹了Tensorflow卷積神經(jīng)網(wǎng)絡(luò)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
文章詳細(xì)介紹了在python2.5環(huán)境下,如何使用urllib2這個(gè)python自帶的組件進(jìn)行抓取指定網(wǎng)頁內(nèi)容的,整個(gè)過程記錄的非常的詳細(xì),也很簡單,有需要的朋友可以參考下,寫出自己的python爬蟲2014-11-11Python抓取移動(dòng)App數(shù)據(jù)使用mitmweb監(jiān)聽請求與響應(yīng)
這篇文章主要介紹了Python抓取移動(dòng)App數(shù)據(jù)使用mitmweb監(jiān)聽請求與響應(yīng),mitmproxy控制臺(tái)方式、mitmdump與Python對接的方式、mitmweb可視化方式,需要的朋友可以參考一下2022-01-01日常整理python執(zhí)行系統(tǒng)命令的常見方法(全)
本文是小編日常整理的些關(guān)于python執(zhí)行系統(tǒng)命令常見的方法,比較全面,特此通過腳本之家這個(gè)平臺(tái)把此篇文章分享給大家供大家參考2015-10-10