micasa

Navigation

micasa uses vim-style modal keybindings. There are three modes: Nav, Edit, and Form.

Navigation demo showing cursor movement, tab switching, and mode changes

Nav mode is the default. The status bar shows a blue NAV badge. You have full table navigation:

KeyAction
j / kMove row down / up
h / lMove column left / right (skips hidden columns)
^ / $Jump to first / last column
g / GJump to first / last row
d / uHalf-page down / up
b / fPrevious / next tab
enterDrill into detail, follow link, or preview
s / SSort column / clear sorts
/Jump to column (fuzzy find)
c / CHide column / show all
n / NPin cell value / toggle filter
ctrl+nClear all pins and filter
tabToggle house profile
DToggle dashboard
iEnter Edit mode
@Open LLM chat
?Help overlay

Edit mode#

Press i from Nav mode to enter Edit mode. The status bar shows an orange EDIT badge. Navigation still works (j/k/h/l/g/G), but d and u are rebound from page navigation to data actions:

KeyAction
aAdd new entry
eEdit cell or full row
dDelete or restore item
xToggle show deleted items
pEdit house profile
uUndo last edit
rRedo undone edit
escReturn to Nav mode

Tip: ctrl+d and ctrl+u still work for half-page navigation in Edit mode.

Form mode#

When you add or edit an entry, micasa opens a form. Use tab / shift+tab to move between fields, type to fill them in.

KeyAction
ctrl+sSave and close
escCancel
1-9Jump to Nth option in select fields

The form shows a dirty indicator when you’ve changed something. After saving or canceling, you return to whichever mode you were in before (Nav or Edit).

Tabs#

The main data lives in six tabs: Projects, Quotes, Maintenance, Appliances, Vendors, and Docs. Use b / f to cycle between them. The active tab is highlighted in the tab bar.

Detail views#

Some columns are drill columns (marked in the header) – pressing enter on them opens a sub-table. For example:

A breadcrumb bar replaces the tab bar while in a detail view (e.g., Maintenance > HVAC filter replacement). Press esc to close the detail view and return to the parent tab.

Horizontal scrolling#

When a table has more columns than fit on screen, it scrolls horizontally as you move with h/l or ^/$. Scroll indicators appear in the column headers: a on the leftmost header when columns are off-screen to the left, and a on the rightmost header when columns are off-screen to the right.

Some columns reference entities in other tabs. When at least one row in the column has a link, a arrow appears in the column header. When the cursor is on a linked cell, the status bar shows follow →. Press enter to jump to the referenced row in the target tab. If the cell has no link (e.g. “Self” in the Performed By column), the status bar shows a brief message instead.

Examples: