My Spacemacs Workflow

From Vim to Spacemacs

Posted by Hux on September 8, 2019

Emacs tend to provide a good support for functional programming languages. Indeed, many FP language community exclusively use Emacs and give only first-party IDE supports to Emacs, such as Coq, Agda, Standard ML, Clojure, etc.

For the purpose of programming Coq with Proof General, I started to try with Emacs. I quickly found Spacemacs a good alternatives for me…someone had get used to Vim keybindings and want to get some thing useful ASAP w/o configuring a long list as my .vimrc.

Though the overall experience is pretty smooth, many quirks about Spacemacs are always being forgotten and had to look up again and again, so I decided to open a note for some specific “workflow” that I often used.

Yes this is more like a note publishing online for the purpose of “on-demand accessible”. So don’t expect good writing anyways.


Choose evil!


It’s there!

Nerd Tree / File Sidebar

SPC f t for file tree. The keybindings for specific operations are very different w/ Vim NerdTree though.

Shell / Terminal

I occasionally use Neovim’s terminal emulator but in most of the time I just cmd + D for iTerms splitted window.

I even mappped :D into split-then-terminal to make the experience on par ;)

command! -nargs=* D  belowright split | terminal <args>

Anyways, Spacemacs does provide a :shell that naturally split a window below for terminal. The experience is not very good though.

Tabs / Workspaces

I tend to open multiple workspace. Though people might found Vim tabs useful, I am exclusively use iTerm tabs for similar jobs. However Spacemacs is not living in a terminal.

r/spacemacs - Vim-style tabs? gave me a good way to approximate the experience by using Spacemacs Workspaces: SPC l w <nth> trigger a so-called “layout transient state” (I have no idea what’s that mean) to open N-th workspaces, and use gt/gT to switch between.

Fuzz File Name Search / Rg

SPC f f


SPC b b

本文采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议(CC BY-NC-ND 4.0)进行许可,转载请注明出处,请勿用于任何商业用途采用。