2017/07/01

spacemacs 初體驗 - 使用 vim 鍵盤操作 emacs

聽說 spacemacs 內定的設定就很好用, 所以花時間試了一下,在 Arch Linux 安裝很簡單:
yaourt -Sy emacs
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d  
emacs foo.go # 編輯你想編的檔案, 例如 foo.go, 會自動問你要不要裝 go 的擴充集
vim 轉過來的建議先看這篇中文簡介, 再加上VIMUSERS


  1. spacemacs 基本概念
    1. spacemacs 相當於 emacs 配置上 vim 基本按鍵方式
    2. emacs 稱為 states, 相當於 vim 的 insert/visual 等模式 
      1. major-mode 對應到檔案副檔名自動帶入的設定
      2. minor-mode 其他次要功能設定
    3. emacs 的 Layers 相當於 vim 的 plugin
    4. emacs 的 Transient-states 是多重組合鍵
    5. SPC 空白鍵相當於 vim 的 <Leader> 鍵, 但按下時會顯示簡短說明較好用
    6. SPC SPC 相當於 vim 的 : 但是執行的是 emacs 指令, 例如: :(emacs-init-time)
    7. ~/.spacemacs 相當於 ~/.vimrc (其實 emacs 內定的設定檔在 ~/emacs.d/init.el):
dotspacemacs-default-font '("Source Code Pro"
                               :size 16 ;; 字型大小
                               :weight normal
                               :width normal
                               :powerline-scale 1.1)
auto-complete ;; 去掉註解
better-defaults ;; 較佳內定值
;; Go 設定參考 ~/.emacs.d/layers/+lang/go/config.el
(defvar go-use-gometalinter t)
(setq gofmt-command "goimports") ;; 這要放到 dotspacemacs/user-config 內

要用 tmux 或 terminal 的,可以使用 emacs -t

Go 語言的說明 ~/.emacs.d/layers/+lang/go/README.org 快捷鍵,除了 vim 的外,
  1. emacs主要的擴增功能都在 SPACE + m + .... 上面, 至於是什麼不需要背,emacs會有提示說明
  2. ctrl-p, ctrl-n 自動補完
為了快速啟動,emacs 可以使用 daemon 模式加速,我寫了個 em 的 shell script
if ! pgrep emacs ; then
  emacs --daemon
fi
emacsclient -t "$@"

沒有留言: