- Layers
- Config Changes
- Default Theme
- Resume Layouts (re-load layouts on startup)
- Enable Line Numbers
- Magit Fullscreen
- Set Org Workflow Keywords
- Turn truncate lines (word wrap) off
- Prevent Split Line On Create New Heading
- Prevent save to clipboard on visual selection update
- Properly ignore certain files / folders when using helm-ag search
- Distinguish between TAB and C-i (Make evil jump forward work)
- Keybindings
Layers are enabled by adding the layer identifier to the dotspacemacs-configuration-layers variable in the .spacemacs file.
Additional variables can be passed to the layout using the following format: (layer-identifier :variables variable-one value variable-two value)
identifer: spacemacs-layout variables:
-
layouts-enable-autosave (t)
-
layouts-autosave-delay (300)
identifier: git
identifier: github
identifier: org variables:
- org-enable-github-support (t)
identifier: markdown
identifier: evil-snipe variables:
- evil-snipe-enable-alternate-f-and-t-behaviors (t)
identifier: auto-completion
identifier: scala
identifier: rust
- requires racer install
identifier: clojure variables:
- clojure-enable-fancify-symbols (t)
identifier: restclient
identifier: themes-megapack
Configurations reside in the .spacemacs file.
Set first item in dotspacemacs-themes
: sanityinc-tomorrow-night
dotspacemacs-auto-resume-layouts t
dotspacemacs-line-numbers t
('relative for relative line numbers)
In dotspacemacs/user-init:
(setq-default git-magit-status-fullscreen t)
In dotspacemacs/user-config:
(setq org-todo-keywords
'((sequence "TODO" "IN-PROGRESS" "WAITING" "DONE")))
In dotspacemacs/user-config:
(add-hook 'hack-local-variables-hook (lambda () (setq truncate-lines t)))
In dotspacemacs/user-init:
(setq org-M-RET-may-split-line nil)
In dostspacemacs/user-config:
(fset 'evil-visual-update-x-selection 'ignore)
In dotspacemacs/user-config
(setq helm-ag-use-grep-ignore-list t)
(setq projectile-globally-ignored-directories '("target" ".ensime_cache"))
(setq grep-find-ignored-directories '("target" ".ensime_cache"))
In dotspacemacs/user-config
(setq dotspacemacs-distinguish-gui-tab t)
:
- enter command mode SPC
: - enter emacs command mode C-y
- paste into command bar
h/j/k/l
- cursor up/down/left/right C-u / C-d
- move half screen up / down C-f / C-b
- move full screen up / down SPC j j
- use avy to jump to char SPC j l
- use avy to jump to line ''
- move cursor to last position M l/r (arrows)
- move occurances of current word %
- move to matching brace { / }
- move to prev / next paragraph z t/./b
- move screen where cursor is at top/center/bottom m <key>
- set mark to \' <key>
- jump to mark for [{
- jump to previous open brace (works with braces & parens) [}
- jump to next closing brace g d
- smart jump to declaration C-o / C-i
- jump back / forward in history
v
- visual mode V
- linewise visual mode C-v
- block visual mode SPC v
- enter expand / select region mode SPC s e
- iEdit mode e
- move to end of word (E - WORD) w
- move to next word (W - WORD) b
- move back one word (B - WORD) A
- append end of line I
- insert beginning of line o
- new line below / insert O
- new line above / insert ea
- append at end of word D
- delete from cursor to end of line dd
- delete line C
- change from cursor to end of line cc
- change line J
- join line with next xp
- transpose two letters (delete + paste) <x>,<n> s/^/<txt>/
- Prepend to lines x through n <x>,<n> s/$/<txt>/
- Append to lines x through n f <char>
- move to next t <char>
- move to but not including \" _ d
- delete without saving to clipboard \" _ x
- delete char / selection without saving to clipboard g c c
- comment current line g c <m>
- comment using motion (e.g. gc5j comment current line + 5 below) SPC r y
- view / select items in kill ring
S
- delete / insert mode all occurances U
- uppercase all occurances C-U
- downcase all occurrances A
- insert mode end of all occurances I
- insert mode beginning of all occurances L
- restrict to current line J
- increase editing scope by one line below K
- increase editing scope by one line above n
- next occurance gg
- first occuance G
- last occurance #
- prefix all occurrances with increasing number D
- delete all occurances p
- replace occurrances with last yanked text V
- toggle visibility of lines with no occurrance
C-/
- search potential completions while completions are active
sf
- surround function s<brace>
- surround with e.g. (,[,{,<,",' cs<brace1><brace2>
- change surrounding brace from 1 to 2 o
- move to other end of marked area y
- copy marked text d
- delete marked text ~
- switch case < / >
- increase / decrease indention J
- move current line down K
- move current line up aw
- mark word ab
- mark block () aB
- mark block {} ib
- inner block () iB
- inner block {} i<*>
- i< i[ i" i' i` a<*>
- a< a[ a" a' a` A
- append each selection in block I
- insert each selection in block R
- replace each selection in block u / U
- make lowercase / uppercase p
- replace selection with paste : s/<find>/replace/
- substitute in visual selection
/<query>
- search buffer for SPC s s
- swiper search (interactive) SPC s c
- clear search result highlight n
- next search result N
- prev search result *
- search for word under cursor (forward) #
- search for work under cursor (backward) SPC *
- search project for current word using Ag SPC /
- search project using Ag
C-<return>
- use entered text as selection C-c C-o
- put results in ivy-occur buffer , w
- enter wgrep editable buffer from ivy occur , ,
- save changes from wgrep buffer to files , a
- abort wgrep buffer changes
SPC w .
- window management transient state SPC w /
- split current window vertically SPC w -
- split current window horizontally SPC w =
- balance windows evenly SPC w m
- toggle maximize window SPC w w
- cycle next window SPC w u
- undo last window change SPC w U
- redo last window change
]
- enlarge current window horizontally [
- shrink current window horizontally }
- enlarge current window vertically {
- shrink current window vertically g
- toggle golden ratio mode (large selected window)
SPC p f
- find file in project SPC p /
- search open project using ag SPC p t
- open neotree w/ project as base SPC p r
- replace in project
SPC l l
- switch to or create new layout SPC l
- layout transient state SPC l x
- kill current layout SPC l s
- save layouts
SPC b w
- enter writable dired buffer that allows renaming C-c C-c
- save wdired changes C-c ESC
- abort wdired changes
SPC g s
- enter magit status s
- stage change u
- unstage change x
- discard change b b
- checkout branch b c
- create & checkout branch P p
- push C
- commit z z
- stash changes z a
- apply stashed changes