首页 > 初级, 学习Emacs > 我是如何从vim转向Emacs的

我是如何从vim转向Emacs的

2010年4月27日 ahei 发表评论 阅读评论

作者: 王纯业

以前,我多次试图从 vim 转变到 emacs 都失败了。原因很多,主要原因是 vim 的确一个很强大的 editor 不愧为 emacs 的主要竞争对手,vim 很多强大的功能,很难在 emacs 中找到相应的功能,那个时候还没有水木Emacs版,如果有的话,情况会好一些, 还有一个原因就是我周围几乎没有人用 emacs ,现在也是。

emacs 的入门比较 vim 要困难很多,我指的入门不是指简单的使用,而是高效的使用。vim 的很多操作几乎不需要配置就可以完成了,但是如果离开我那些复杂的 .emacs 文件,我认为 emacs 并不比 vim好。有了我的 .emacs , emacs 绝对是最好的 platform (not only an editor) ,因为他是我的软件,一些我常用的功能,都是按照我的方式工作的,而且我可以随时实现我喜欢的功能,也许别人不喜欢这样的操作,但是我喜欢,我可以让 emacs 让我喜欢的方式操作。几乎没有其它软件可以做到这一点。

我转变到 emacs 是一个痛苦和偶然的过程。我曾经煞有介事的“学习” emacs , 写了很多笔记,现在看来,很傻,emacs 不是学出来的,是用出来的,很多功能不是用脑子记住的,而是用手记住的,我们不得不承认,有的时候肌肉的记忆能力,要比脑子的记忆能力强,而且快速,实用。很多体育运动员不就是用大量的训练提高肌肉对动作的记忆吗?

一次偶然的机会我发现了几个 vim 无法代替的几个功能,于是我开始真正喜欢 emacs 了。(注:笔者做此文时,vim版本为6.2)

首先是编写 TeX 文件的时候,很多数学符号可以快速的输入,可以方便的生成 dvi 文件,可以快速的输入 TeX 特有的特殊符号。

然后是 Python mode ,他是非常好的 Python 的 IDE ,可以很容易的编写 Python 程序,尤其是 Python 程序中用缩进来表示语法结构,在Emacs中很容易处理缩进。很容易把一段代码放入到Python 的解释器中执行,然后在解释器中交互的测试程序。参见 我的Python 学习笔记

一个编辑 C or C++ 的时候的一些功能,例如 auto insert 功能,hungry delete, M-SPC(M-x just-on-space) indent 功能 (TAB) ,在 emacs 中写出来的程序,是最漂亮的格式。最重要的是还可以选择自己喜欢的 c style 。 当然 vim 中也可以,但是默认的是用 tab 键格式化 ,这样的缺点就是不能保证程序在所有的编辑器中都是一样的效果,但是我以前也用 TAB 来 indent ,原因是我不愿意输入很多 space 。而且 vim 对重新 indent 一段代码的功能也不是很好,尽管 g= 等等键也可以工作,但是不如 emacs 中的好。

vim 中的很多编辑命令要比 emacs 快的多,只要输入很少的键。

但是, 我认为中 emacs 的理念是,有很多工作,做好不要让用户记住那些快键,按照用户的习惯,猜想用户(主人)的意思,默默的做好(讨好用户)就行了。

例如,在 C 中,我们习惯用 tab 键来 indent 程序。那么就用 tab 键来 完成 M-x indent-line 的功能。我们经常在输入分号之后, 输入一个回车,那好,emacs 就根据上下文猜测应该回车的地方,自动回车。你想删除很多空格,那好,emacs 就会根据上下文,只留下一个空格(M-x just-on-line) 或者空行(M-x delete-blank-line) ,如果你在只有一个空行下还要 M-x delete-blank-line ,那么就把single blank line 也删掉。

还有的功能也很好用。

1
2
C-c C-c (M-x comment-region)
C-u C-c C-c uncomment-region

还有自动补齐右边括号,补齐引号的功能,还有补齐大花括号的功能。 参见Emacs 中自动添加有半边括号的功能写C程序,输入左大花扩号自动补齐很多东西

还有 abbrivate 扩展的功能。

还有 fly spell 的功能。 emacs 知道主人是个粗心的人自动提示主人错了,但是 emacs 从来不把主人当傻瓜,不会自作聪明的改动,只有主人真的承认说,我错了 (按M-$)(注:我记不住具体的M-x 命令了,可以用C-h k 查一个键的bind 的函数,记做 help key bind , 也可以用 C-h w 记做 help where, 查找一个函数的快键是什么 ) ,emacs 就提示很多可选的单词,供主人选择。 我记得有一个著名的把用户当作傻瓜的软件,总是把句子的行首单词Capitalize,而且自动把他认为错了的单词改过来,每次我都要费尽心机想办法,怎么把这个功能关掉。

还有 auto fill 的功能, M-q 也总能干正确的事情。

还有 version control 的功能,emacs 几乎不用主人亲自备份文件了,他知道应该在合适的时候,备份文件。

还有 auto insert 的功能,他会自动根据环境,把当前的文件增加可执行权限,参见在保存文件的时候,会自动给脚本增加可执行权限

还可以自动增加

#!/bin/bash or #!/bin/perl #!/bin/python 。

参见Emacs 在创建文件的时候,自动添加 template 的内容

header.el的扩展还可以自动插入和更新 C 文件中的开头的一些信息,包括文件名称,创建日期,改动次数,纪录谁在什么时候为什么做了修改。还有公司信息,作者信息,版权信息等等。参见轻轻松松为源 程序增加文件头信息

还有 emacs 有很多程序无缝结合 ,如 python, perl,octave(matlab), gdb, pydb 等等,emacs 是最好的 IDE 了。

总之,驯化了的 emacs 是你的忠实的奴仆,他会按照主人的方式工作,猜想主人的意图。

然而,有的时候 emacs 是奔放的野马,总是难以驾驭,要想emacs按照主人的意志工作,那么主人就有义务详细的告诉他该如何工作。

有两种办法,一种是向其他主人学习,请教,按照他的办法驯化emacs 。

另一种办法是掌握 emacs 的高级用法,只有了解他的语言,Elisp (Emacs Lisp) ,明白了 emacs 的语言,才能够和 emacs 很好的交流,沟通, emacs 是一个很听话的孩子。

如果要融入 emacs 的文化,或者叫理念,甚至叫宗教, 那么就要 Hack 他的程序,了解他的五脏六腑,做一个 hacker。(注: hacker is NOT cracker ) 除了安装emacs-x-xx.rpm 还要安装 emacs-el.x-xx.rpm , 然后用 M-x find-function 看任何一个函数是如何实现的。

浏览了一会儿,你会感到什么是自由软件,什么是真正的自由。只要你愿意,你可以探索任何一个功能是怎么实现的。

使用其他的软件的时候,我总是在想办法发现软件提供给我什么功能,我怎样按照软件定义好的方式工作,我怎么去适应软件。

如果运气不好,碰到一个自以为是的软件,我会觉得被软件的作者愚弄。

如果运气再差一点,我会觉得被软件的作者侮辱,因为他把我当成傻瓜。

当然,也有运气好的时候,例如 vim,他的编辑方式是最快的方式。

但是 emacs 不同,使用 emacs 的时候,我会想我喜欢用什么样的方式完成某个功能,大多数的情况,都可以简单的用global-set-key, or local-set-key 解决掉。如果功能很复杂,就查找一下是不是有人实现过了, emacs 的社区中有很多好心人, www.emacswiki.org 是一个好地方。如果没有人实现,那么就自己写一个,然后贴到网上去。

开放,自由,这就是 emacs 。

emacs 总是想办法如何适用用户的方式,当然,缺点就是,初看上去 , emacs 不是很友好, 用户需要学习如何配置emacs 。

现在我很喜欢摆弄 emacs , 我知道,只要我想得到,emacs 一般是可以做得到, 当然我想的要合理,我想买彩票中500万,emacs 肯定做不到 ,而且还不能和其他你需要的功能冲突。

有一项功能我一直没有想办法办到,就是类似source in sight 的自动搜索一个函数的 caller ,自动成员变量补全,class browser 等等。这个功能很难,因为他要包含语言的语法语义分析。C++ 中的 template , typedef , #define #if , inline function, inner class (or structure, enum) , name space等等的语言特性,增加了其难度。

尽管 semantic 号称可以,但是和 source in sight 还有差距。我用了几次,不好用, ECB 也是不伦不类。

我认为 semantic 的目标太大了,他要容纳所有语言的语法语义模糊分析的功能,这个很难,尽管他的作者是大名鼎鼎的 eric 。

我还是很喜欢 semantic ,因为我相信他行,于是我试图hack semantic ,实现那些功能,尽管自动补全成员变量的功能,勉强可以了,但是其他复杂的功能,还是很难实现。semantic 太复杂了。

但是一有时间,我还是喜欢看上 semantic 几眼。

我这篇文章是用 notepad 编辑的,于是顺便列举一些 emacs 和 notepad 类似的功能,参见类似Notepad 基本操作快速入门

分享家:Addthis中国
GD Star Rating
loading...
我是如何从vim转向Emacs的, 8.4 out of 10 based on 29 ratings 标签:ann, ann77, browser, C/C++, control, ede, Emacs, emacser, emacser.com, gdb, IDE, org, python, screenshot, semantic, 王纯业, 补全, 配色, 配色

相关日志

分类: 初级, 学习Emacs
  1. 2016年4月7日07:00 | #1

    As a sophomore, Tuttle beat Ethan Sobczak of Bad Axe by one pin, 379-378, in the final at Royal Scot. [url=http://www.louisvuittonhandbags.us.org]http://www.louisvuittonhandbags.us.org[/url] When President Barack Obama visited India last year, the two countries issued a joint statement on “the AsiaPacific and Indian Ocean region,” something India had refused to do in the past. h [url=http://www.cheapjordanshoes.us.org]cheap jordan shoes[/url]
    Kasich could be the candidate who benefits from [Marco] Rubio’s struggles. [url=http://www.raybanoutlet.name]ray ban outlet[/url] “Definitely want to keep those amazing palm trees, maybe have them lining that long entry drive,” he said.
    Bavarian porcelain butter dishphoto courtesy of the collector [url=http://www.coachoutlet.cc]coach outlet online[/url] One of the many aspects of radio are the unexpected changes that occur at any given day or time. z [url=http://www.michaelkorsbags.me]michael kors handbags[/url]
    The FAA says it’s working with a number of organizations to to explore options that would allow some types of model aircraft to operate in certain parts of the no drones [url=http://www.michaelkorshandbagsup.us.com]www.michaelkorshandbagsup.us.com[/url] After several months of care, she was transferred to WERC to evaluate her releasabillity.
    h Cal won out, and Krieg swapped out a 10-loss team for 10 wins and a Holiday Bowl victory against Texas A M. Once at Cal, Kriegnever regained the status as a full-time starter he’d enjoyed at Duke. Yet he would do it all over again, he said. In Berkeley, heearned a degree, met his future wife and transformed the end of his college career. [url=http://www.coachstoresonline.com]coach outlet store online[/url] For the JunethroughDecember period, Springdale showed the lowest vacancy rate at 1 percent. [url=http://www.coachoutletsonlines.us.org]coach factory outlet[/url]
    McQuillan said McDonald will appeal his conviction [url=http://www.coachhandbagsdeal.us.com]www.coachhandbagsdeal.us.com[/url] The Houthis are also allies of Saudi Arabia’s regional rival Iran. http://www.coachstoresonline.com
    It’s been a long journey forHotchkins, but Saturday evening he completed a long journey home, committing to the Oregon Ducks via Twitter over offers from Arizona, Arkansas, Cal, Colorado, Texas Tech, Utah, Washington State and others: [url=http://www.michaelkorshandbagsrack.us.com]michael kors online[/url] Rachel McGuirt, Searcy, 2:07. z [url=http://www.coachoutletstoreonline.me]www.coachoutletstoreonline.me[/url]
    Dan Ellis recorded 20 saves for Hershey [url=http://www.louisvuitton-outlet.us.org]louis vuitton outlet[/url] RSVP 480-269-8753.
    For that matter, Holt regularly champions the idea that the Spurs are part of the San Antonio community and holds that the team owes as much to the city as it does to them. [url=http://www.coachhandbagsdeal.us.com]coach handbags[/url] Today it finally turned in our favor.
    The Prime Minister said that Hussain, along with Reyaad Khan, from Cardiff, who had also been killed, was involved in actively recruiting Isil sympathisers and seeking to orchestrate specific and barbaric attacks against the West, including directing a number of planned terrorist attacks right here in Britain, such as plots to attack high-profile public commemorations, including those taking place this summer . [url=http://www.michaelkorshandbagsbuy.us.com]michael kors handbags[/url] This classical form of dance originated in southern India and began as a form of religious expression performed at temples.
    defence chiefs. [url=http://www.michaelkors.us.org]michael kors bags[/url] Fayetteville 281; 4.
    x “That s why we believe it s important, first and foremost, to further educate the veterinary community, as well as the pet-owning public, on effective non-pharmaceutical interventions that are available. [url=http://www.louisvuittonhandbagsbuy.us.com]cheap louis vuitton bags[/url] Arizona had not even offered him a scholarship.
    Marty Richman [url=http://o.westboroughpolice.com]oakley sunglasses[/url] He’s the one who didn’t let me skip a workout just because I didn’t feel like going. h [url=http://www.raybansunglassesbuy.co.uk]www.raybansunglassesbuy.co.uk[/url]
    The doctor must then make the decision of whether or not to help the patient into death by providing the lethal dose of medication [url=http://www.coachhandbags.me]coach outlet[/url] “Red” is onstage May 3-20, 2012.
    l Amy M. Ramsdell, Amy M. Charland and Ralph Ramsdell to Akinyele K. Lovelace and Christina Lovelace, 9 Toledo Ave., $165,000. [url=http://www.michaelkorshandbagsoutletup.us.com]www.michaelkorshandbagsoutletup.us.com[/url] Meanwhile, Rubio who has notched only one win in state elections so far insisted that the coming roster of primaries will be “better for us,” and renewed his vow to win March 15 in his home state of Florida, where he hopes to claim all 99 delegates there. f
    Democrats will allocate 865, more than one-third of the necessary 2,383 [url=http://www.coachoutletsonlines.us.org]www.coachoutletsonlines.us.org[/url] Nick Marquette, Hamilton’s head coach, was disappointed, especially for his seniors. [url=http://www.coachoutletonlinebuy.us.com]coach outlet online[/url]
    Clinton wasat a campaign rally in Cleveland this evening, while Sanders is campaigning in Miami. Florida and Ohio are holding their Democratic primaries on March 15. [url=http://www.raybansunglassesbuy.co.uk]ray ban sunglasses[/url] “We like them to have their own church home, but it’s nice to fill in when they can’t make it. t [url=http://www.louisvuittonhandbagsbuy.us.com]cheap louis vuitton bags[/url]
    The tour follows his 2015 Mandatory World Tour which saw Yankovic perform in over a 100 cities in the United States, Canada, Europe and Australia. [url=http://www.coachhandbagsdeal.us.com]coach handbags[/url] Oftenwhen I criticize the policies and practices of religious faiths, Iget the pushback that I am intolerant or that I should let groupsbe free to practice their faiths as they feel compelled.
    This story has been corrected to reflect the Tualatin Public Library and two associate libraries will be open on Veterans day. [url=http://o.westboroughpolice.com]cheap oakleys[/url] Cate Blanchett, Carol Joe l [url=http://www.michaelkorshandbagsrack.us.com]michael kors online[/url]
    It hurts everybody when you hear news like that. [url=http://www.raybansunglasses.name]ray ban sunglasses outlet[/url] His transition into an administrative role completes a remarkable tenure as Valley Christians track coach.

    [回复]

评论分页
1 ... 3 4 5 41215
  1. 2010年4月29日17:01 | #1
  2. 2014年6月3日05:55 | #2
  3. 2014年6月3日19:13 | #3
  4. 2014年7月23日00:35 | #4
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: