断断续续用了一年多Vim来,主要用来编辑配置文件或写一些试验性的代码。 始终无法真正适应vim的模式切换问题,总觉得这种切换不符合传统的操作习惯,是种不必要的负担,而且
于我很难完全适应,结果就是发现编辑器总是不按照我的意愿来:)
Emacs也很早就知道,但被
网上那些人不负责任的“Emacs学习曲线恐怖”的言论恐吓着,而且也比较懒,一直没敢真正尝试。 这几天比较闲,折腾了一下Emacs,结果发现相对于Vim, 学会使用它高效完成日常工作是如此的简单,而且你学到的东西几乎不会与已有的习惯冲突, 在你不能总是用vim/emacs完成所有的工作的时候,不必在两种截然不同的操作模式中切换是非常重要的。
当然得承认, 由于历史原因,emacs默认的快捷键设计不符合人体工程学,使用起来很不舒服。 但在emacs强大的可定制性面前,这不是问题。 下面是我目前的.emacs文件:
- ;;go programming language mode
-
(add-to-list 'load-path "~/.emacs.d/go/" t)
-
(require 'go-mode-load)
-
-
;; compile command for golang
-
;; TODO: compiler and linker should be determined based on $GOARCH
-
;; TODO: support build tool like gb, gobuild etc.
-
(add-hook 'go-mode-hook
-
(lambda ()
-
(setq app-name (file-name-sans-extension buffer-file-name))
-
(setq obj-name (concat app-name ".8"))
-
(setq exe-name (concat app-name ".exe"))
-
(set (make-local-variable 'compile-command)
-
(concat "8g -o "
-
obj-name " " (buffer-file-name) " && 8l -o " exe-name " " obj-name
-
))))
-
-
;;use ergoemacs keyboard layout
-
(setenv "ERGOEMACS_KEYBOARD_LAYOUT" "us")
-
(load "~/.emacs.d/ergoemacs-keybindings-5.3.7/ergoemacs-mode")
-
(ergoemacs-mode 1)
-
-
;;use M-b as prefix command instead of C-x
-
(setq newmap (make-sparse-keymap))
-
(set-keymap-parent newmap ctl-x-map)
-
(global-set-key "\M-b" newmap)
-
-
;;my keyboard shortcuts
-
(global-set-key (kbd "M-b c") 'kill-emacs)
-
(global-set-key (kbd "M-b M-b") 'list-buffers)
使用了李杀同志()精心设计的符合人体工程学的键盘绑定,并且把C-x前缀换成了M-b。 你会发现,在简单的定制之后,很多vim所谓的优势emacs并不缺少,比如用很少的手指移动和按键次数完成丰富的功能。
最后, 强烈推荐李杀的emacs系列教程, 你会发现用好Emacs比Vim容易很多:D
阅读(6617) | 评论(1) | 转发(0) |