Cheatsheet

Notation

Control: C-h f means hold down control while pressing h, then release the control and press f.

Alt/Meta: M-a M-b means hold down the Meta/Alt key while pressing a and b before releasing the Meta key.

Uppercase: A means shift + a

Overall

The primary taget for the keybindings is to get as close to VIM and Fireplace (for VIM) as possible. Use Esc to switch to normal mode.

Mappings

Normal mode navigation (blue cursor)

      C-SPC Start command typeahead (See Command Type ahead below)
      C-SPC C-SPC Typeahead to insert function from classpath
      l   Right (Arrow Right will also work)
      h   Left (Arrow Left will also work)
      k   Up (Arrow up will also work)
      j   Down (Arrow down will also work)
      space Key navigation 
      0   Beginning of line
      $   End of line
      ^   Move to first non blank on line
      gg  Beginning of buffer
      G   End of buffer
      w   Forward word
      W   Forward WORD
      e   End of word
      E   End of WORD
      b   Backward word
      B   Forward word
      gf  Goto definition / Context action (If the cursor is on a filepath Liquid will try to open that file.
          If it is a function, Liquid will try to navigate to the definition.
          If it is a url it will try to open the url in a browser.)
      SPC mg Goto definition

Copy, Delete and Insert (blue cursor)

      i   Insert
      I   Insert at first non blank
      A   Insert at end of line
      x   Delete char
      Backspace Delete backward
      yy  Copy line or selection
      yc  Copy context (Word, filename, url, ...)
      pp  Paste on new line
      ph  Paste
      dd  Delete line or selection
      D   Delete rest of the line
      o   Insert line below
      O   Insert line above
      r   Replace with next char pressed
      C-k Swap line up
      C-j Swap line down
      v   Begin selection or cancel selection

Buffers

      C-o Other window (Move between main and prompt windows)
      m   Switch to previous buffer (Useful for swithing forth and back between two buffers)
      SPC TAB Switch to previous buffer (Useful for swithing forth and back between two buffers)
      C-k Kill buffer

Filehandling (blue cursor)

      s   Save file
      SPC fs Save file
      SPC ff Open file (See Find File section)

Clojure code

      cpf Evaluate current file
      SPC meb Evaluate current file
      cpp Evaluate current s-expression
      SPC mee Evaluate current s-expression
      C-e Evaluate current file without capturing output (for (re)-loading internal stuff)
      ,,  Highlight boundries of the  current s-expression
      ,s  Select current s-expression
          (Repeating combination will make the cursor switch between begin and end parenthesis.)

Macro recording

      Q   Start and stop recording
      q   Play recording

Searching (blue cursor)

      /   Search (Type a search string an press enter)
      ?   Search backwards (Type a search string an press enter)
      n   Next search result
      N   Previous search result

Folding (blue cursor)

      + + Cycle headline/code fold
      + 1 Fold headline level 1 and code
      + 2 Fold headline level 2
      + 3 Fold headline level 3
      + 4 Fold headline level 4
      + 5 Fold headline level 5
      + 0 Expand all
      + s Fold selection
      + f Fold s-expression

Help

      C-h h Index of Help files
      C-h f (Typeahead help for some functions)
      C-h a Apropos function. Free text search in documentation

Quit

      C-q   Quit editor
      SPC qq Quit editor
      C-M-q Force quit editor (Will quit even though there are unsaved files.)

Command Typeahead

When typing C-SPC a typeahead screen is shown with the following keybindings:

      SPC Space is considered a "wildcard" in typeahead, so "some g" will match: "Something".
      C-j Select next result
      C-k Select previous result
      C-g Quit Command Typeahead
      enter Choose the selected result. If it is a snippet, the result will be pasted.
            If it is a command it will be executed. If it is a buffer, the buffer will be chosen.
      C-l Choose result

Find File

When typing SPC ff a typeahead file chooser will be shown with the following keybindings:

      SPC Space is considered a "wildcard" in typeahead, so "my le" will match: "Myfile".
      C-j Select the next file
      C-k Select the previous file
      C-g Quit Find File
      enter If the selection is a file the file will be opened.
            If it is a folder, a new typeahead will be started below that.
      C-l Choose result

Headline and Function Navigation

When typing gi (blue cursor) a typeahead headline navigator will be shown with the following keybindings:

      space Space is considered a "wildcard" in typeahead, so "my li" will match: "My headline".
      C-j Select the next headline
      C-k Select the previous headline
      C-g Quit Headline Navigation
      enter Move cursor to the selected headline or function
      C-l Move cursor to the selected headline or function