我是一个非计算机专业的Emacs用户,是一名人民教师,也是一个使用计算机和互联网20多年的人。这个网站分享我本职工作之外的点点滴滴,主要是Emacs和其他计算机相关工具的折腾和心得。

一些链接:

我是怎么学习Emacs的?

我从2012年开始使用Emacs。我想学Emacs的原因一是想掌握神的编辑器,一是不大习惯用Vi(m),记不住怎么退出,而Emacs是快捷键控制的,还可以用鼠标,上手容易些。那时候国内学习和使用Emacs的环境比今天更差,我同时试用了GNU Emacs和XEmacs,当时GNU Emacs已经是23.x时代了,中文支持已经不错了,而XEmacs已经不更新了,所以我选择了GNU Emacs。

我学习Emacs是从看自带教程(C-h t)开始的。学习了自带教程后,李杀的教程给了我很大的帮助,我如饥似渴的阅读和学习,顺带还提高了我的英语水平。当时我还没有耐心认真学手册(Emacs manualEmacs Lisp Introduction Emacs Lisp Reference Manual),现在想想,如果能认真看手册可能会少走一些弯路,但学习速度可能会慢。我每天强迫自己用Emacs,大概用了半年的时间能比较熟练的使用Emacs了。每天用Emacs,生活在Emacs里不仅是一种习惯,也是学习Emacs最好的方法。

关于Emacs的入门我自己也总结了一个教程,只是列出了一些需要记忆的东西,对于连自带教程都懒得看的朋友可能有用。这种快捷键列表官方也有,分别是GNU Emacs Reference CardGNU Emacs Survival Card

Emacs带给我什么?

我觉得Emacs对于提高效率的功能被夸大了,因为需要额外的学习成本,长期来看学习Emacs似乎是有用的,但还是比不上专门的工具,比如集成开发环境。Emacs带给我更多的是精神上的,一种乐趣,一种爱好。

忘了说了,我不是程序员,我是个科研工作者。炫酷的开发工具对我没什么用,Emacs提供给我的编辑环境和多工具集成更有用。关于我用Emacs干什么?为什么用Emacs?的问题我已经总结了。

我的贡献——Emacs-w64

我主要用MS-Windows操作系统,在2012年的时候64位的操作系统已经流行了,但是,Windows下使用Emacs的人不多(今天也不多),而且,其实64位的程序和32位的程序相比并没有什么明显提升,只是可用内存变大了,所以那个时候几乎没有Windows下的64位编译版。当时唯一的一个是Fabrice Popineau的,做了修改,而且更新不及时。一个契机是带有64位编译环境MinGW-w64MSYS2已经有了,加上Eli Zaretskii等的修补,我可以用MSYS2/MinGW-w64的组合编译Emacs,这个项目就命名为Emacs-w64 (SourceForge上的主页GitHub上的主页)。现在我不大愿意更新Emacs-w64了,因为官方也有64位的Windows版,而且比我的更好。但Emacs-w64也是有存在价值的,它推动了64位版的发展,而且,我最初的编译指南被Brian Burns整理成了官方的指南

因为我一直关注Emacs在Windows下的开发,所以做过一些修修补补的工作,包括一些我用的包。就像上面说的,我用Emacs的习惯不是很好,配置是东抄西抄的,比现在流行的开箱即用的Spacemacs差远了,如果您感兴趣,可以去看我的配置。我还原创过一些包,都是自用,也托管了

https://github.com/zklhp/some-utils

比较重要的是SHELX-mode,这是用于编辑单晶解析软件SHELX的输入输出文件的,但写的不行,凑合能用。

除了Emacs之外

我还有一些业余爱好,基本上已经被Blog记录了。再剩下关于本职工作的内容我就不讲了。

后记

这个个人简介是为了写英语版而写的,没有链接,看到的朋友不妨在下面留个名。


https://www.emacswiki.org/emacs/ChrisZheng

I am an Emacs user from China. I used the name Chris Zheng when I contributed to the software community.

My blog (in Chinese): https://chriszheng.science

How do I learn Emacs?

I use Emacs since 2012. One reason I want to learn Emacs is to follow the saint (Church of Emacs). The other reason is that I can’t remember how to quit Vi(m), while Emacs has no editing modes plus I can use the mouse in Emacs. In 2012, the environment for learning and using Emacs in China was worse than today. I tried GNU Emacs and XEmacs at the same time. At that time, GNU Emacs was already in the era of 23.x, so that the Unicode support was already good, and XEmacs was not updated for years. I chose GNU Emacs admittedly.

My learning starts with the tutorial (C-h t). After learning the tutorial, Xah Lee’s tutorial helps me a lot. I absorb every knowledge about Emacs. This even improves my English. I’m not patient enough to read the manuals (Emacs manual, Emacs Lisp Introduction , and Emacs Lisp Reference Manual). I think the manual may help me, but also slow my learning. I forced myself to use Emacs day to night and got to be skilled in about half a year. Living in Emacs is not only a habit but the best method for learning Emacs.

What do Emacs bring to me?

I think the productivity of Emacs is exaggerated because it requires extra learning costs. It is still useful in the long term but is less useful than the specialized tools such as integrated development environment. What Emacs brings to me is the mental pleasure, the hobby.

Forgot to say, I am not a programmer, I am a researcher. Fancy development tools are not useful to me, Emacs provides the editing environment and integrated interfaces for many command-line tools. I think it is useful for me.

Especially, I found the following packages useful:

  • Use build-in modes to write codes.

  • Use ESS and octave-mode as interfaces to GNU R and GNU Octave.

  • Use shell-mode and dired for many tasks.

  • Use calculator or octave-mode for calculation.

  • Use Mew (past) and Wanderlust for Email.

  • Use Magit to Git.

Thank you for bring them to me.

My project — Emacs-w64 and more

I mainly use MS-Windows. In 2012 the 64-bit Windows is becoming popular. Because very few people use Emacs under MS-Windows, plus the fact that 64-bit program isn’t better than 32-bit one, you can hardly find a 64-bit Emacs for Windows at that time. The only one I know is Fabrice Popineau’s, which is patched and outdated. One opportunity is that MSYS2 which includes a 64-bit compiling environment MinGW-w64 appears. Based on Eli Zaretskii’s irreplaceable job, I managed to build 64-bit Emacs for Windows using the combination MSYS2/MinGW-w64. The project than named Emacs-w64 (On SourceForge and On GitHub). Today I feels unmotivated to update Emacs-w64 since the official version is better than mine. However, Emacs-w64 did have its place. It promoted the development of 64-bit version. Moreover, my guideline was organized into the official guide by Brian Burns.

Since I am interested in building Emacs under Windows, I have fixed some bugs in Emacs and some packages. As I said, I learned Emacs in a not-good way. My personal dotEmacs is copied from everywhere on the Internet and is not well-organized. Reading configurations of famous kits such as Spacemacs is definitely better. But if you will, please see

https://coding.net/u/Chris_Zheng/p/dotEmacs/git

I wrote some packages for my own use. You can find them at

https://gitee.com/chriszheng/dotEmacs

What deserves to mention is SHELX-mode. It’s for the crystal structure program SHELX. But it has bugs.

This is my story. Thank you for your reading.