A vim-modal terminal where command+output blocks are navigable units.
- Shell runs underneath, full state preserved (cd, env, aliases, functions)
- Each command + output is a block you can navigate, collapse, expand
- Vim keybindings throughout
- Status line shows cwd and exit code
┌─────────────────────────────────────────────────┐
│ drwxr-xr-x 5 user staff 160 Jan 10 14:32 . │
│ ❯ ls -la │ ← command below output
│ [47 lines, exit 0] │ ← collapsed
│ ❯ cargo build │
├─────────────────────────────────────────────────┤
│ ❯ █ │ ← input (fixed)
├─────────────────────────────────────────────────┤
│ ~/projects/vt [0] │ ← status (fixed)
└─────────────────────────────────────────────────┘
Normal — navigate blocks
Insert — type commands
Scroll — navigate within a block's output
| Key | Action |
|---|---|
j/k |
Next/prev block |
gg/G |
First/last block |
Enter |
Enter Scroll mode |
i |
Enter Insert mode |
za |
Toggle collapse |
q |
Quit |
| Key | Action |
|---|---|
Esc |
Back to Normal |
Enter |
Execute |
Ctrl-c |
Clear |
| Key | Action |
|---|---|
j/k |
Line up/down |
Ctrl-d/u |
Half page |
gg/G |
Top/bottom |
Esc |
Back to Normal |
cargo install --path .
~/.config/vt/config.toml
[prompt]
symbol = "❯ "
[blocks]
max_lines = 10000
[history]
layout = "bottom_up" # bottom_up (default) | top_down
command_position = "below" # below (default) | above| layout | command_position | behavior |
|---|---|---|
| bottom_up | below | output above command, anchored to bottom |
| bottom_up | above | command above output, anchored to bottom |
| top_down | below | output above command, anchored to top |
| top_down | above | command above output, anchored to top |
Unlicense
Built with Claude Code (claude-opus-4-5-20251101)