关于Deepin Emacs
Tofloor
poster avatar
186******98
deepin
2014-01-02 09:26
Author
Deepin Emacs 起源
从我 2008 年离开 Emacs 的活跃开发以来, 很多国内外的朋友都因为太多 elisp 插件不方便一个一个下载 , 向我要全部的 elisp 代码。
虽然加入  Linux Deepin 的时候做了一个 deepin-emacs, 但是 1.0 只不过是我以前的个人插件的 debian 封装, 还需要改很多才能正常使用。
最近一个星期把原来的代码全部整理了一遍, 做成更加通用的插件形式, 各位 Emacs 看官可以从 https://github.com/linuxdeepin/deepin-emacs 下载我所有的 Emacs 插件。
当然 Linux Deepin 用户可以直接 sudo apt-get install deepin-emacs 就可以使用了


很多人问为什么要做 Deepin Emacs? Deepin Emacs 是不是轮子? (btw, 以后谁在不经过脑子就说别人造轮子喷别人我就给谁急, 哈哈)
Deepin Emacs 其实主要是我个人在 2007 ~ 2008 年玩 Emacs 搜集的插件大集合 + 自己编写的一系列插件 (数量我统计不了了, 看官们可以看 http://www.emacswiki.org/emacs/AndyStewart 或在 EmacsWiki.org 上搜索 AndyStewart 考证)

Deepin Emacs 的主要特点是针对所有插件都已经配置好了, 不用折腾, 装好就马上开发。
我一般都是10分钟装上 Linux Deepin 和 Deepin Emacs 后马上就可以开始干活了。

学习 Deepin Emacs 很简单, 只需要把 https://github.com/linuxdeepin/deepin-e ... nit-key.el 以及 https://github.com/linuxdeepin/deepin-e ... isp/config 下所有快捷键按一遍就会了,所有按键我都修改过, 相似的功能都是用相同的按键, 什么都不需要折腾。
Deepin Emacs 主要用了我自己开发的 one-key.el ( http://www.emacswiki.org/emacs/OneKey ) , 即使同时启用上千个软件, 快捷键都是够用的。

那Deepin Emacs都有哪些功能呢?

如果真的要把所有功能介绍一遍, 我怕这一年我都说不完, 我就拿他 1% 的功能说一下吧:

1. auto-complete.el 所有程序语言我都配置好了, 像 python 和 golang 默认就支持语法补全, 打开文件就可以像其他IDE那样智能补全。
2. 默认集成 helm 统一搜索, 文件、代码、命令、书签等, 几乎你能想到的所有东西他都能搜索, 当我第一次看到 unity 吹嘘搜索功能的时候, 我都在 Emacs 用了好多年了。
3. 智能的编程模块, 比如编程神器 paredit , multiple-cursors, ace-jump, rec-mark, color-moccur, yasnippet, kill-ring-search, flymake 等等这些数倍提高编程效率的工具都全部配置好了, 有时候你和别人的差距不是你不够聪明, 而是你在用刀的时候, 别人都在用自动化武器了。
4. 启动管理, 关闭 Emacs 以后, 下次启动所有的布局和设置都会原封不动的还原, 编写大型项目秒开以后就继续上次的进度。
5. 自动保存, 主要用自己实现的 auto-save.el , 你离开键盘1秒钟以后 Deepin Emacs 会自动保存所有未保存的文件, 我已经 6 年没有按过 C-x C-s 来保存文件
6. 默认集成 emacs-w3m , 用于上 Wiki 网站和看本地 html/chm 文档
7. 舒服的文件管理器功能, 在 Deepin Emacs 中利用 wdired 和 键盘宏, 能在 10s 内干完别人几天才能干完的批量文件操作。
8. 默认集成我的 multi-term.el , 不需要离开Emacs就可以使用终端, 偶尔在 multi-term.el 打开 vim 来玩一下。
9. 大量使用 lazy-set-key 和 one-key 来重新定义上千个按键, 让所有的插件都是同一个手指节奏。
10. 默认集成了我的 auto-install, 从 emacswiki, github, any url 都可以自动安装 emacs 插件

除了编程, 我还用 Deepin-Emacs 做什么?
1. 用 newsticker 看新闻
2. 用 gnus 收发邮件和读邮件列表
3. 用 emms 来听音乐
4. 用 doc-view/chm-viewer 读 PDF/chm 书籍
5. 用 ERC 上IRC, 和国外朋友聊天 (当然, gtalk, qq, skype 都是可以的)
6. 用 Yaoddmuse 写Wiki并自动发布
7. 用 sdcv.el 查词典
8. 用 OrgMode 编写文档和日程管理
9. 用 mldonkey/wget 插件下载各种资料文档
10. 像其他的, 计算器、日历、数值计算等小功能都是小菜一碟

Deein Emacs 开发的目的是什么?
1. 加速 Linux Deepin 开发速度, Emacs党装上就开发, 不用每次重装系统就要折腾几天
2. 让更多的人接触 Emacs 并提高自己的开发效率
3. 让更多的人了解 Emacs 的黑客文化, 提升自己的精神世界, 在中国如果你不想信仰什么, 可以尝试信仰 Emacs
4. 通过 Deepin Emacs 进入更加广博的Emacs世界和独特看世界的视角(很多人学习Emacs/elisp 以后, 思维要比传统的学校教育思维更加开阔)。
5. 节省自己配置的时间, 如果你要自己从原版Emacs上配置到 Deepin Emacs 的功能, 你最少需要1年的时间。
6. Just for fun

Deepin Emacs 不是什么?
1. 如果你只是为了占有和炫耀, 而不用Deepin Emacs干活, 请节省时间去享受生活吧。
2. 如果你只想快速编辑文本就在也不碰文本了, 那些简单的编辑器更适合你, 比如 gedit, kate 等
3. 如果你想用 Deepin Emacs 达到 “30天变成编程高手“的目的, 请绕道 Deepin Emacs,Deepin Emacs 是为了勤奋的人更快速的提升自己, 而不是让人更懒惰。
4. Deepin Emacs 一种信仰和选择, 你有选择和不选择它的自由, 请千万不要浪费在时间在争论它是好还是不好, 不喜欢关掉就行了。
5. Deepin Emacs 不是终点, 等你有一天能做的更好的时候, 抛弃它自己构建自己的开发环境吧。

Deepin Emacs 有的功能只是 Emacs 所有功能的冰山一角, 少年们, 努力探索 Emacs 的未知世界吧!
Reply Favorite View the author
All Replies
lovesnow
deepin
2014-01-02 17:21
#1
写得好, VIM党该你们了 :
Reply View the author
21wmd
deepin
2014-01-02 17:55
#2
写得好, VIM党该你们了 :

这是要挑起圣战的节奏。
Reply View the author
177******28
deepin
2014-01-02 19:58
#3
封印的瓶子已经打开
E神和V神的圣战又将打响
Reply View the author
yuanchenglu
deepin
2014-01-02 21:32
#4
我决定试试了
Reply View the author
jhkwei
deepin
2014-01-03 23:04
#5
安装在ubuntu上没有安装成功,我自己改了一下 Makefile 不知道对不对
  1. install-etc:
  2.         umask 022; ${MKDIR_P} "$(DESTDIR)${desktopdir}"
  3.         tmp=etc/emacs.tmpdesktop; rm -f $${tmp}; \
  4.         emacs_name=`echo emacs | sed '$(TRANSFORM)'`; \
  5.         sed -e "/^Exec=emacs/ s/emacs/$${emacs_name}/" \
  6.           -e "/^Icon=emacs/ s/emacs/$${emacs_name}/" \
  7.           ${srcdir}/etc/emacs.desktop > $${tmp}; \
  8.         ${INSTALL_DATA} $${tmp} "$(DESTDIR)${desktopdir}/${EMACS_NAME}.desktop"; \
  9.         rm -f $${tmp}
  10.         thisdir=`/bin/pwd`; \
  11.         cd ${thisdir}/${iconsrcdir} || exit 1; umask 022 ; \
  12.         for dir in */*/apps */*/mimetypes; do \
  13.           [ -d $${dir} ] || continue ; \
  14.           ( cd "$${thisdir}"; ${MKDIR_P} "$(DESTDIR)${icondir}/$${dir}" ) ; \
  15.           for icon in $${dir}/${EMACS_ICON}[.-]*; do \
  16.             [ -r $${icon} ] || continue ; \
  17.             ext=`echo "$${icon}" | sed -e 's|.*\.||'`; \
  18.             dest=`echo "$${icon}" | sed -e 's|.*/||' -e "s|\.$${ext}$$||" -e 's/$(EMACS_ICON)/emacs/' -e '$(TRANSFORM)'`.$${ext} ; \
  19.             ( cd "$${thisdir}"; \
  20.               ${INSTALL_DATA} ${iconsrcdir}/$${icon} "$(DESTDIR)${icondir}/$${dir}/$${dest}" ) \
  21.             || exit 1; \
  22.           done ; \
  23.         done
Copy the Code

其中原来是这样的:
  1. thisdir=`/bin/pwd`; \
  2.         cd  ${iconsrcdir} || exit 1; umask 022 ; \
Copy the Code

我改成下面样子,安装是安装上去了不知道对不
  1. thisdir=`/bin/pwd`; \
  2.         cd ${thisdir}/${iconsrcdir} || exit 1; umask 022 ; \
Copy the Code
Reply View the author
bose9
deepin
2014-01-06 07:36
#6
我都不敢插嘴.
Reply View the author
koerriva
deepin
2014-01-10 06:11
#7
膜拜!
Reply View the author
tracyone
deepin
2014-01-10 08:07
#8
vim党路过,也做过这种类似的打包,应该和楼主的没得比,其实我还是想尝试emacs,特别因为是楼主这么厚道的把配置都弄好。
Reply View the author