慢慢将emacs 配置成极其强大的web IDE开发环境

原文地址:http://www.douban.com/group/topic/33058930/




EmEditor-->Notepad++--->geany--->vim--->emacs,这是我使用编辑器的过程。EmEditor和Notepad++是我在windows下面最喜欢的编辑器。
特别是Notepad++,我用的时间最长,免费,代码折叠是我最喜欢的功能,我进行web开发的时候,代码折叠是用得最多的,用鼠标一点,可以把div折
叠起来,看代码非常方便。

全面投向linux 后,一度尝试过各种各样的编辑器和IDE,
尝试过的文本编辑器:jEdit,gedit,geany,Sublime Text
尝试过的IDE:komodo-IDE7,NetBeans,ompoZer,Eclipse

我主要的工作是进行html+php+js+css方面的编辑。在Windows下面无法离开Notepad++和Dreamweaver CS这两样工具。
Dreamweaver CS 有两个优点:写css非常方便,有提示功能,可以一键格式化css格式,也可以一键格式化html格式。

转向linux后,对linux下面各种IDE基本失望(仅仅对komodo稍微有点好感)。IDE 基本很笨重,可定制的东西太少,用起来非常不方便。
文本编辑器方面,仅仅对geany情有独钟,说geany是linux最优秀的文本编辑器一点不过分。我需要的东西,geany基本具备,速度也很快。
基本Notepad++有的功能,geany也有。
geany 下面如下功能,我非常喜欢:
1. 代码折叠,默认支持,非常出色。在linux下面遇到唯一一款代码折叠这么出色的。
2. 虚拟终端。这个非常舒服。
3. snippets,写代码太方便了。
4. tags,写代码太方便了。将那个standard.css.tags和php-tags放进去,进行web开发非常爽。
5. tree browser
6. 代码提示和代码自动完成也有。

如果在linux还没有找到好用文本编辑器的朋友,并且也不想用vim或者eamcs,推荐试用下geany,这个应该不会使你失望。我曾经一度认为没有比geany更好的编辑器了。

不过随着使不断的使用,geany留给我以下遗憾:
1. 没有格式化源代码的功能。格式化不了html,php,css,一度需要我开vbox,用dw完成。
2. 智能注释,反注释。
3. 可定制的功能还是少。好用的插件,还不是很多。

我认为将emacs 配置成强大的web IDE开发环境,需要达到功能才可以。

1. 改造emacs里面不适应和不习惯的地方,看看能不能改造
2. 需必备功能:代码折叠。
3. 需必备功能:代码snippets,代码片段快速输入
4. 需必备功能:代码高亮
5. 需必备功能:代码自动补充和完成
6. 需必备功能:一键格式化html、php、css、js文件,使得源码格式化,符合规范。
7. 需必备功能:智能注释,反注释,写代码的时候,可以快速按一个键,快速注释或反注释,或添加注释。
8. 需必备功能:html、php、css、js 代码缩进美观
9. 需要必备功能:可以使用代码auto complete,可以使用zencoding
10. 更高级更能:比如可以使用tidy
11. 比如js,css,html压缩功能。比如css可以将多行压缩成一行。。。。js压缩(可以减少体积)
12. 强大的帮助系统,比如可以查询php语法,w3c方面的帮助,语法提示
13. php tag
14, php调试,编译


emacs 越来越有感觉,下面总结一下将emacs 配置成强大的web IDE开发环境所需要的插件。
1. 改造emacs里面不适应和不习惯的地方,看看能不能改造
通过如下插件,可以将emacs改造成ide环境
1.1 sr-speedbar(经过几个月的使用,emacs不用这个一样方便)
1.2 tabbar 标签功能
1.3 cedet (经过几个月的使用,emacs不用这个一样方便),web开发,没有必要使用)
1.4 ecb(经过几个月的使用,emacs不用这个一样方便),web开发,没有必要使用)
1.5 dired+
1.6 其他方便性功能:比如让光标指到某个括号的时候显示与它匹配的括号;用来显示当前光标在哪个函数;显示行号。。。。
2. 需必备功能:代码折叠。
2.1 这个试过很多,效果不是太好。以后再试试有无更好的插件。
3. 需必备功能:代码snippets,代码片段快速输入
3.1 yasnippet
4. 需必备功能:代码高亮
4.1 emacs默认高亮一般有问题,不过如果html语法混杂有js,css,php等代码的时候,代码高亮要配置才可以。
这个比较麻烦。
5. 需必备功能:代码自动补充和完成
5.1 auto-complete
6. 需必备功能:一键格式化html、php、css、js文件,使得源码格式化,符合规范。
6.1 内置indent-region函数本身就支持格式化,可以绑定一个键。一键格式化html代码(可能包含js,css,php代码)。
6.2 利用flush-lines删除所有空行,whitespace-cleanup删除所有空格,也可以编个自定义函数,绑定个键
7. 需必备功能:智能注释,反注释,写代码的时候,可以快速按一个键,快速注释或反注释,或添加注释。
7.1 M-,emacs最聪明的注释。
8. 需必备功能:html、php、css、js 代码缩进美观
8.1 其实和第4点一样,比较好的解决方法
mmm-mode+nxml-mode+php-mode+js3-mode
如果这几个模式没有配置好,缩进和格式化、高亮,都有问题。
9. 需要必备功能:可以使用代码auto complete,可以使用zencoding
9.1 auto complete
9.2 zencoding
10. 更高级更能:
比如js,css,html压缩功能。比如css可以将多行压缩成一行。。。。js压缩(可以减少体积)

另外,可以使用如下插件
rainbow-mode 自动显示css颜色,对经常写css很方便。
flymake-css,flymake-php。。。。。。。。
less-css-mode。。。。。。

帮助系统: 查看php语法, 语法提示.........


目前除了代码折叠,其他插件基本满意。使用了以上插件,基本可以把emacs配置成强大的web IDE开发环境。。
比geany 强大太多,dw的格式化代码功能也有,已不再想用其他编辑器。更重要的是,emacs可个定制性太强了,在慢慢的学习中,你的emacs
会慢慢根据你的改变而改变。

以上插件,可以通过google搜索(不用用baidu),emacs好的资料都在gg上面,一般都是英文的。
网上介绍emacs c++ 的插件比较多,web方面的插件介绍比较少。。。如果有更好的插件或者web配置,大家可以交流下。。

你可能感兴趣的:(emacs)