回忆Emacs 和Vim 的学习之路 - v0.0.9

676 查看

注1:时间有限,一次不能完成本文,慢慢添加、改进。
注2:暂时没有注2.

Emacs 还是Vim

最早偏听偏信,嫌弃 Emacs “臃肿”,忍受着不停的“哔哔哔”,先学习了 Vim。
后来在好奇心和折腾的本能驱使下,开始走上 Emacs 之路。

但我并不是所谓的 Emacs 党。
我的常用机器上默认不开 ssh server, 要 root 权限进行编辑的时候,用不了tramp mode
所以是sudo vim
在测试机上的编辑文件的时候,Vim/Vi 也是首选了。懒,就一个字。

我不用 Emacs 的 evil mode,倒是在Vim 里做了以下4个的键位映射/绑定:

imap <c-b> <esc>i
imap <c-f> <esc>la
imap <c-a> <esc>0I
imap <c-e> <esc>$a

学习的各个阶段

我把自己定位在“编辑器用户”,都不考虑插件开发,所以大概分为3个阶段:
陌生、熟练、高手。

陌生 -> 熟悉

印象

Vim 给我的印象是:谦虚、谨慎、高效。
让它做什么就做什么,感觉很好控制和沟通,不做多余的事。
当然也要讲它的“语言”,简单高效的按键和命令。

Emacs 的印象则是:激进。
做了很多不想它做的事,怎么配置都达不到理想状态。
比如:自动缩进使用制表符tab还是空格。搞了几次,头大,然后把 Emacs 卸载了。

操作

Vim 用户应该都有的初体验:不知道怎么输入、怎么退出。
但是在不断的“哔哔哔”声之后,开始享受它的按键方式。

Emacs 的问题就在频繁使用CtrlAltEsc的别扭。
虽然习惯之后谈不上享受,但也是非常高效。

配置复杂度

不算空行和注释,
Vim 的配置文件,30行之内就能“够用”,并且语法简明。
Emacs 则需要100行左右,或者更多,语法是elisp,只能说“很好玩”。

熟悉 -> 熟练:

vim:
成就感不断提高,但如果跟 emacs 比较,感觉移动速度低于预期。
多文件操作体验不顺畅。
需求插件。

emacs:
开始体会到它奇葩的学习曲线。
但并不建议开始 living in emacs。
探索更多功能,需求更多配置。
emacs 自带了很多插件,早就在用了, 之前没在意到吧。

熟练 -> 高手:

[还没到“高手”阶段]

其他

养成好的 编程/写作 习惯

看过一个 编程培训班在线视频,那讲课人的编程习惯,就算是 万能神本尊都救不了他,
更不用说“编辑器之神”或者“神之编辑器”了。

语法高亮

关闭。

理由:
语法高亮干扰代码阅读?注:暂时引用这个地址,有时间转到sf 来。

方法:

  • 启动:
    emacs --color=never

  • 配置:

.emacs

(global-font-lock-mode 0)

.vimrc

syntax off
  • 命令:

M-x font-lock-mode

server mode

emacs

  • 启动:
    emacs --daemon

  • 配置:

(server-mode)
  • 使用
    emacsclient

vim

vim server/client 模式需要编译时开启支持。
通过vim -h| grep servername 有没有输出检查,如果没有,
则需要安装 带c/s mode 支持的vim。
然后,
vim --servername xx
vim --serverlist
vim --remote xx

对 Vim 插件的理解

我理解 Vim 的特点的灵巧、精准,过分的用插件填充,真的会让它变得臃肿
所以我不会想把 Vim 变成 IDE,

比如,
我会用cscope 调用vim,而不想用一个 cscope.vim 的插件。