SPC :counsel M-xSPC ;evaluate elisp expressionC-`toggle popup (scratch, terminal, magit, etc)
SPC SPCblink cursor line:command modeiinsert modeIinsert beginning of lineainsert mode (append)Aappend end of linevvisual modeVlinewise visual modeC-vblock visual mode
h/j/k/lleft/down/up/rightw/Wword / blank separated word (everything but space)e/Eend of word / bswb/Bbackward word/ bswLend of lineHfirst non-whitespace characterGgo to last linegggo to first linef/F<c>move to next / prev character ’c’t<c>move to but not including next / prev character ’c’<a>i<o>perform action inside objectciwchange worddi"delete inside quotes
<a>a<o>perform action on entire object (include surrounding space/quote/brace/etc)ciwchange word including trailing spacedi"delete quotes, text inside, and trailing space
g<h/j/k/l>vim easymotion left/down/up/right
c<m>changed<m>deletey<m>yankppasteonew line below / insertOnew line above / insertDdelete from cursor to end of linedddelete lineCchange from cursor to end of lineccchange lineJjoin line with next
sfsurround functions<b>surround with e.g. (,[,{,<,“,’gccomment selected textvexpand visual regionomove to other end of selected regionycopy selected textddelete selected text~switch case</>increase / decrease indentionJmove up lineKmove down lineAappend each selection in blockIinsert each selection in blockRreplace each selection in blockuundo within region
C-u/C-dmove half screen up / downC-f/C-bmove full screen up / downC-favy goto char timer%move to matching brace{/}move to prev / next paragraphz<t/./b>move screen where cursor is at top/center/bottomC-o/C-i- jump back / forward in history
m<c>Create mark- lowercase - buffer specific
- uppercase - global to open buffers
'<c>Jump to mark (beginning of line)`<c>Jump to mark (exact position)
gcccomment current linegc<m>comment using motion (e.g. gc5j comment current line + 5 below)
SPC f fcreate / open fileSPC f Fsudo open fileSPC f ccopy filesSPC f Ccopy current fileSPC f rrecent filesSPC f Rrename current fileSPC f ddelete fileSPC f Ddelete current fileSPC f Eedit current file with sudoSPC f ssave current bufferSPC f Ssave all buffersSPC f ttoggle neotreeSPC f yshow and copy filename
SPC /search in projectSPC ?search from hereSPC s sswiper (search in file)SPC j ddumb-jump go to definitionSPC j Ddumb-jump go to definition other windowSPC j osearch online for text (choose provider)
SPC l lcreate / switch workspaceSPC l ddelete workspaceSPC l TABswitch last workspaceSPC l smanually save workspaces
SPC b TABswitch previous buffer (workspace)SPC b bswitch buffer (workspace)SPC b Bswitch buffer (global)SPC b ddelete bufferSPC b Ddelete other buffers (workspace)SPC b nopen new blank bufferSPC b spopup scratch buffer
SPC w h/j/k/lswitch to window left/down/up/rightSPC w H/J/K/Lswap window left/down/up/rightSPC w -split window horizontallySPC w /split window verticallySPC w mtoggle maximize current windowSPC w ddelete current windowSPC w Dace delete windowSPC w u/Uwinner undo / redoSPC w swinner swap windowSPC w =balance windowsSPC Wace window
SPC p ffind file in projectSPC p rproject based recent filesSPC /search entire project using rgSPC p lcreate / switch project layoutSPC p topen project neotreeSPC p ashow TODOs in projectSPC p kkill buffers in projectSPC p 'open term in projectSPC p !run command in project root
SPC g sopen magit status bufferSPC g bgit blameSPC g tgit time machineSPC g lgit logSPC g ycopy external link to file and lineSPC g g r/Rcreate gist from region public/privateSPC g g b/Bcreate gist from buffer public/private
M-qswiper query replaceM-n/pnavigate next/previous through history
C-j/knext/previous elementC-oshow alternate actions
C-c C-,Insert templates (easy for code blocks)