This is my Spacemacs personal config on Github: https://github.com/ztlevi/spacemacs-config
Common Stuffs
In key bindings, M stands for Alt key (option key for mac), s for Command key, C for Control key, SPC for Space key.
Key Bindings |
Description |
C-g |
Quit |
! ! |
evil shell command output to the current line |
C-o |
Evil jump backward |
C-i |
Evil jump forward |
C-o |
Open Action panel when mini dired enabled |
C-h k/v/f/d |
Key/ variable/ function/ Documentation |
C-h C-k/v/f |
Find key/ variable/ function |
C-h e |
Show Emacs’s errors |
SPC SPC (M-x) |
eval-buffer, customize-group |
SPC e n |
Js2-next-error |
s-/ |
Comment |
SPC j i |
Imenu (show all the functions) |
SPC v |
Expand Region |
SPC x o |
Open link |
C-q |
Insert Quote |
SPC s e |
iedit: need to select in vim-visual mode, and then press the key to edit them. |
SPC ? |
List key bindings |
*SPC '* |
Pop up shell |
Debug
Kill emacs when not responding: pkill -SIGUSR2 -i emacs
, and use toggle-debug-on-quit
to enable C-g.
The following command profile the CPU.
Profiler-start
Profiler-report
Key Bindings |
Description |
C-x C-e |
eval-last-sexp |
M-. |
pop last command execute |
Diminish Undo |
Show mode detail in the mode line, e.g. company-mode |
SPC o ( |
Switches to the buffer ‘*ielm*’, or creates it if it does not exist. |
*, d m* |
macrostep-transient-state, expand and collapse funcs and macros |
Python
In python mode, keys are start with prefix key C-c
. | Key Bindings | Description |
|--------------|------------------------------| | C-c C-p | run python | | C-c C-c | python shell send buffer | | C-c
C-l | python shell send file | | C-c C-r | python shell send region | | C-c C-z | python shell switch to shell |
Search
Key Bindings |
Description |
SPC o d (M-s o) |
Occur dwim (see the occurrences in codes and go through them by toggling them), use e to enter edit |
e |
Go to edit mode (Under Occur mode) |
C-c C-c |
Exit edit mode (Under Occur mode) |
C-s |
Swiper |
SPC r i / C-c C-r (F6) |
Ivy-resume, e.g. resume the swiper view |
SPC r h |
Helm-resume, e.g. resume counsel-git view |
SPC s |
Grep(g), ag(a), ack(k), pt(t) <br>Project a/g p, Directory t/k f. |
C-c C-e |
Show results in another buffer, and then edit(e.g. replace). |
C-c C-c |
On the result buffer, commit changes. |
Replace
- Just use vim,
:%s/xxx/yyy/g(c)
- Mark a key word, then use C-r (evil-quick-replace). It will automatically generate the vim command.
- Use Occur-dwim (SPC o d), then use iedit (SPC s e).
Key Bindings |
Description |
M-% |
query-replace |
C-M-% |
query-replace-regexp |
Toggle
Key Bindings |
Description |
Spc t n |
Toggle line number |
Spc t r |
Toggle relative line number |
SPC t g |
toggle golden ration |
SPC t - |
Center point |
SPC t f |
Toggle fci-mode |
Key Bindings |
Description |
Spc h b |
Open bookmarks in helm window |
C-d |
delete the selected bookmark |
C-e |
edit the selected bookmark |
C-f |
toggle filename location |
C-o |
open the selected bookmark in another window |
C-x C-d |
Run browse project directory |
SPC f |
File related operation |
SPC p f |
Open file with projectile or counsel-git |
SPC f f |
Helm-find-file |
C-M-j |
Ivy immediate done |
SPC f L |
Find the file across the Whole Mac System |
SPC f l |
find file literally |
SPC f h |
Open file in hex mode(C-c C-c to exit) |
SPC f o |
Open in default external application |
SPC f E |
sudo edit |
SPC f j |
Jump to dried, remapped to ranger |
SPC f r |
Open recent file |
SPC f R |
Rename current file |
SPC f v |
Add local variable |
SPC f a d |
find the current visited directory with fasd |
SPC f C d/u |
convert file encoding between unix and dos |
SPC f e d |
find the .spacemacs file |
SPC f e i |
file the .emacs init file |
SPC f b |
Show bookmarks |
SPC f s/S |
Save buffers |
SPC f c |
Copy file |
SPC f t |
Open neo tree |
SPC b |
Buffer related operation |
SPC TAB |
Switch back and forth |
SPC b . |
buffer micro state (hydra) |
SPC b b |
Switch buffers |
SPC b d |
Kill buffer |
SPC b f |
Reveal in finder |
SPC b B/i |
iBuffer |
SPC b h |
Spacemacs home buffer |
SPC b k |
Kill matching buffers |
SPC b N |
New empty buffer |
SPC b C-d |
Kill other buffers |
SPC b R |
Safe revert buffer |
SPC b s |
Scratch buffer |
SPC b Y |
Yank the whole buffer |
SPC b P |
Paste the whole buffer |
SPC b w |
Write in dried buffer |
SPC b n/p |
Next/Previous buffer |
SPC l |
Layout related operation |
SPC o l l |
load layout (ztlevi) |
SPC o l s |
save layout (ztlevi) |
SPC l o |
Custom layout |
SPC l L/s |
Load or Save layout |
SPC l l |
Switch between layouts |
SPC l R |
Rename current layout |
SPC l TAB |
Quick switch between layouts |
SPC l ? |
Toggle layout help |
SPC w |
Window Related Operation |
SPC w . |
Window micro state (cheat sheet) |
SPC w -/s |
Split window below and focus |
SPC w //v |
Split window right and focus |
SPC w m |
Toggle-maximize-buffer |
SPC w 2/3 |
Use predefined window layout |
SPC w b |
Switch to mini buffer |
SPC w d |
Delete the current window |
SPC w h/j/k/l |
Move to window |
SPC w m |
Maximize window |
SPC w H/J/K/L |
Move window to position |
SPC w u/U |
Window undo/redo |
SPC w o |
Switch to other frame |
SPC w F |
make a new frame |
M/(SPC w) 1/2/3/4 |
Go to window with the window number |
SPC w = |
Balance windows |
SPC w w |
Go to other window one by one |
SPC w W |
Ace windows |
SPC p |
Project related operation |
SPC p f |
Project files |
SPC p b |
Buffer files |
SPC p p |
Switch to a project |
SPC p l |
Switch to a project and create a layout |
s-p |
Find files in project |
SPC f j |
Dired Related Operation |
j |
(dired) navigate down |
k |
(dired) navigate up |
h |
(dired) go up directory |
l |
(dired) find file / enter directory |
m |
Mark files. Use it with C and R |
u |
Unmark files. Use it with C and R |
t |
Mark all files. |
U |
Unmark all files. |
C |
When you will press C to copy, the other dir in the split pane will be default destination. |
R |
Same thing with C . R stands for rename but also does move |
f |
Find file. Can be used to create file. |
+ |
Create directory |
o |
Open file in another window |
d |
Mark as delete. |
x |
Take the punge. |
SPC a |
Ranger Related Operation |
C-c C-e |
Wdired-change-to-wdired-mode: write in ranger |
C-c C-c |
Commit changes |
C-c Esc |
Abort changes |
SPC a r |
launch ranger |
SPC a d |
deer (minimal ranger window in current directory) |
C-p |
(ranger) toggle ranger in dired buffer |
j |
(ranger) navigate down |
k |
(ranger) navigate up |
h |
(ranger) go up directory |
l |
(ranger) find file / enter directory |
RET |
(ranger) find file / enter directory |
dd/ da |
(ranger) cut, da to add cut file |
yy/ ya |
(ranger) copy, ya to add copy file |
pp |
(ranger) paste |
R |
(ranger) rename |
D |
(ranger) delete |
;+ |
(ranger) create directory |
f |
(ranger) search for file names, also can create file |
i |
(ranger) show preview of current file |
zi |
(ranger) toggle showing literal / full-text previews |
zh |
(ranger) toggle showing dotfiles |
o |
(ranger) sort options |
H |
(ranger) search through history |
q |
(ranger) quit |
r |
(ranger) revert buffer |
z- |
(ranger) reduce number of parents |
z+ |
(ranger) increment number of parents |
v |
(ranger) toggle all marks |
V |
(ranger) visually select lines |
S |
(ranger) enter shell |
C-SPC |
(ranger) mark current file |
;C |
(ranger) copy directory / copy and move directory |
Org mode
Key Bindings |
Description |
SPC a o o (C-c a) |
Org agenda |
SPC m s (C-c C-s) |
Schedule |
SPC m d (C-c C-d) |
Deadline |
C-c C-e |
Org Export |
C-c C-c |
Org evaluate block |
- Org evaluate block example:
#+BEGIN_SRC python :results output for i in range(10): print(i) #+END_SRC
|
Cycling
- Tab: toggle current headline
- S-Tab: globally toggle headlines
Headline movement
Key Bindings |
Description |
C- |
Insert heading respect current content below |
M-/l |
Demote heading, list item at point or move table column right. |
M-/h |
Promote heading, list item at point or move table column left. |
M-/k |
Move subtree or table row up |
M-/j |
Move subtree or table row down |
JS2 Mode
Key Bindings |
Description |
js2-refactor commands |
A lot more key bindings could be found here |
, r < |
js2r-forward-braf |
, r > |
js2r-forward-slurp |
The following 3 commands using xref-js2 |
|
M-. |
Jump to definition |
M-, |
Pop back to where M-. was last invoked. |
M-? |
Jump to references |