前言
越来越多的人使用emacs作为开发工具. 甚至skype,gmail,豆瓣FM都能通过emacs. 作为一个产品开发,肯定使用很多插件,设置一些快捷键来提高开发效率.以前一直使用 prelude,很久之后发现有以下问题:
- 比如开启python语言支持需要在prelude-modules.el里面把python这样的注释去掉
- 我不需要支持这么多的语言,也不需要那么多快捷键
- aotupair实在太难用了
- scss/css模式不好自定义缩进空格数, tab和空格混用. 不好定制
- 看过源码后发现,其实很来很简单粗暴的事情弄得有点复杂了
我造了个轮子.emacs.d,主要针对python和web开发
项目目录结构
├── Cask ; 我使用[cask](https://github.com/cask/cask)做包管理工具 ├── LICENSE ├── README.md ├── custom ; 自定义插件目录,你也可以把你写的程序放进来然后在init.el里面require │ ├── flycheck.el ; 定制flycheck,让它在保存python程序时自动执行pep8和flake8,有有问题的条目会打开新的buffer打印出来 │ └── py-autopep8.el ; 我自己实现了autopep8插件,保存时自动根据pep8标准处理文件 ├── functions.el ; 用到的相关函数 ├── init.el ; emacs启动的主程序 ├── misc.el ; 对emacs本身的一些配置 ├── osx.el ; 对OS X系统上一些额外配置
使用的插件列表
- smex – M-x 的命令行补全的功能
- emacs-color-theme-solarized – 一个emacs主题
- ace-jump-mode – 快速钱还光标位置到你想去的地方
- exec-path-from-shell – 可以使用$PATH环境变量
- ag – 比ack更快的文本搜索工具
the_silver_searcher
的emacs插件 - ein – Emacs IPython Notebook
- jedi – 代码补全插件
- anzu – 显示当前匹配文本和总匹配数的插件
- rainbow-mode – 在代码中通过该百年背景色标示颜色
- magit – git插件
- popup – 可视化弹出, 效果类似于auto-complete
- bind-key – 更简单粗暴的绑定快捷键
- dash – 常用函数集合
- undo-tree – 通过可视化的撤销以及还原修改
- use-package – 更简单粗暴的引用包,绑定快捷键以及定制
- yasnippet – 一个神奇的模板系统,定义缩写并通过tab键自动帮你展开(一些自动的”填空题”机制)
- helm – 方便查找各种文件内容,buffer切换,emacs命令执行等
- mmm-mako – Mako插件
- projectile – 管理项目,可快速访问项目里任何文件,支持全项目关键词搜索
- multiple-cursors – 同时操作多个区域
- expand-region – 按层次块区域选择
- plim-mode – 我自己写的plim的插件
- rainbow-delimiters – 对内嵌的括号等pair符号加不同颜色
- drag-stuff – 可以将代码块整体拖动
安装使用
curl -fsSkL https://raw.github.com/cask/cask/master/go | python git clone https://github.com/dongweiming/emacs.d .emacs.d cd .emacs.d cask sudo pip install jedi pep8 autopep8 flake8
快捷键分布
请参看项目的README.md
转载请注明:爱开源 » 一个使用python的web程序员的emacs.d