Skip to content

Latest commit

 

History

History
121 lines (108 loc) · 5.15 KB

vim_mod.md

File metadata and controls

121 lines (108 loc) · 5.15 KB

Overview

  • There are only currently two modes, command mode and insert mode.
  • Motions have repeat support, d3w will delete three words.
  • Insert mode can be entered using i, I, a, A, o, or O.
  • Registers are a work in progress
    • What Exists:
      • a-z - Lowercase named registers
      • *, + - System clipboard registers, although there's no distinction between the two currently.
      • % - Current filename read-only register
      • _ - Blackhole register
    • What Doesn't Exist:
      • default buffer doesn't yet save on delete operations.
      • A-Z - Appending via upper case registers

Implemented Motions

Implemented Operators

  • Delete
    • vwd - works in visual mode
    • dw - with a motion
    • 3d2w - with repeating operator and motion
    • dd - linewise
    • d2d - repeated linewise
    • D - delete to the end of the line
    • X - delete the character before the cursor
  • Change
    • vwc - works in visual mode
    • cw - deletes the next word and switches to insert mode.
    • cc - linewise
    • c2c - repeated linewise
    • C - change to the end of the line
  • Yank
    • vwy - works in visual mode
    • yw - with a motion
    • yy - linewise
    • y2y - repeated linewise
    • "ayy - supports registers (only named a-h, pending more advanced atom keymap support)
    • Y - linewise
  • Indent/Outdent/Auto-indent
    • vw> - works in visual mode
    • >> - indent current line one level
    • << - outdent current line one level
    • == - auto-indents current line
  • Put
    • p - default register
    • P - pastes the default register before the current cursor.
    • "ap - supports registers (only named a-h, pending more advanced atom keymap support)
  • Join
    • J - joins the current line with the immediately following line.
  • Mark
    • m[a-z][A-Z] - marks the current cursor position

Implemented Split Pane Commands

  • ctrl-w h/ctrl-w left/ctrl-w ctrl-h - focus pane on left
  • ctrl-w l/ctrl-w right/ctrl-w ctrl-l - focus pane on right
  • ctrl-w k/ctrl-w up/ctrl-w ctrl-k - focus pane above
  • ctrl-w j/ctrl-w down/ctrl-w ctrl-j - focus pane below
  • ctrl-w w/ctrl-w ctrl-w - focus next pane
  • ctrl-w p/ctrl-w ctrl-p - focus previous pane
  • ctrl-w v/ctrl-w ctrl-v - create vertical split
  • ctrl-w s/ctrl-w ctrl-s - create horizontal split
  • ctrl-w c/ctrl-w ctrl-c: close focused pane
  • ctrl-w q/ctrl-w ctrl-q - close focused tab

Implemented Scrolling Commands