编辑器辣么多,为什么你还在使用 Emacs?

顺手了,懒得换。其他神马都是浮云。

  • 习惯了在终端生存,信赖键盘,总觉得鼠标点点点这种不能用脚本描述的方式不靠谱
  • 一致的体验,不用费心熟悉其它
  • 功能强大,扩展多,可定制

As a basic rule if you have a text editor that’s good that can do everything you need, and has enough features it does the work and you can still explore to do the work you’re expected to do then just stick to it. Why learning another editor when you already have all the scales in the one you’re using.

1 个赞

为什么讲了这么多道理多数人还是用流行的编辑器/IDE呢,因为跟vim/emacs相比,他们几乎没有任何学习成本。。

1 个赞

用的时间多了,顺手了懒得改了, 而且其他定制性太差

改起来十分方便.

比sublime + vim 好用

如果emacs是python写的就好了,elisp还是难搞啊

因为程序员通常是很忙的,没有许多时间学习与工作关系不是很大的东西,所以很多人还是用着IDE…

4 个赞

写代码的时候,有IDE可用当然用IDE。有时候要在服务器上开发没有emacs那还了得:P 写latex org 肯定用emacs 现在没有magit已经不会用git了 强烈推荐 desktop bookmark,平时emacs当操作系统用,几乎不用finder、terminal

desktop bookmark 是什么?

参见 bmkp的desktop bookmark 以及 session management

Emacs 文成武德

我用 vim 啊。 nano, sed,cat 都试过。感觉,vim 只是个视觉化的 sed 而已,甚至 ex-command 下和 sed 是兼容的。 当初看见有安利 emacs 的说了什么呢?好像说是 emacs 编辑文件不用按键,不用命令什么的balabala 我就想,那用啥啊?念力么? 几个月来学习了 emacs lisp ,大概明白是什么意思了。如果能有个插件给 emacs 输入指令的话,真的是用念力写代码了。 安利 vim 的都说它的宏录制有多么牛,通常都是拿来和ms office对比什么的。讲道理,我用vim的时候连宏是什么都不知道。用过 emacs 再回来看这种言论,嘿嘿,还记得 emacs 的名字是怎么来的么? lisp 是个很不错的东西,虽然开始写拓展时逐渐感受到了 dynamic scoping 的蛋疼了,但是似乎有 cl-emacs 之类的好东西?

听说有个叫 VisEmacs 的东西,不过可能不支持最新版VSC

这个是visual studio 的插件吧 我现在是开vscode 然后再它内置的terminal里面用emacsclient 命令行版 基本上可以各取其优了

这个说是visual studio 不是visual studio code啊。。

不吹不黑,vim/evil的键盘宏录制真的很好用啊,相当于(比写elisp函数)更容易地把一些命令组合起来。

不过要录一个很长的宏来实现,然后要执行好多遍,比如把1 2 3...(很长)变成11 22 33...,这样的操作多半可以awk/sed一行解决,缺点是这两个要多练习才能记得住,还可能碰到搞不定的情况,而vim宏就无脑多了。

在vscode的terminal里面跑emacs?

  • 这样是不是不能跑GUI版的emacs了?
  • windows下可以这么玩么?
  • 只用过一两天vscode,它现在比较大的优点是哪些呢?

个人觉得,写扩展的时候 dynamic scoping 其实是好的,方便修改行为,这应该也是刚开始设计 elisp (作为一门扩展语言而不是通用语言)考虑的一点。问题在于 Emacs 24 以前只支持 dynamic scoping,并没有其他选择。Emacs 24 新增了 lexical binding,新的插件应该大部分都默认开启了 lexical-binding,程序员可以自己选择,dynamic scoping 的问题基本算解决了。

还剩几个容易出错的地方是某些函数不“支持” lexical binding。摘自 Emacs Lisp Reference Manual:

Note that unlike dynamic variables which are tied to the symbol object itself, the relationship between lexical variables and symbols is only present in the interpreter (or compiler). Therefore, functions which take a symbol argument (like symbol-value, boundp, and set) can only retrieve or modify a variable’s dynamic binding (i.e., the contents of its symbol’s value cell).

PS: 之前写某个包的时候被这些函数坑过一次。

1 个赞

Emacs 不用 Evil 也能录宏啊。。。

其实用过就知道,非gui的只是不能显示图片,其他都差不多,毕竟emacsGUI的风格也是有点命令行的感觉 现在我试了试,只有command键(mac)有关的快捷键不能用,其他都可以 windows下应该也是可以的 vscode的优点,个人认为是平台在electron上,可以用好多新的web技术,还有就是提供好多开箱即用的插件,还有就是GUI下点点按钮就能debug,这个emacs做不到 另一方面,emacs的org mode真的特别特别棒,我倒是期望哪天有人写了个vscode的org-mode插件就好了