← ClaudeAtlas

djinnvimlisted

Edit files with the djinnvim CLI — vim-style, pattern-anchored keyhole editing that never reads whole files. Use for any file editing when djinnvim is installed, especially when file/shell tools are restricted or files are large.
anschnapp/djinnvim · ★ 2 · AI & Automation · score 75
Install: claude install-skill anschnapp/djinnvim
# djinnvim: keyhole editing from the shell You edit through small viewports, the way a vim user does: search by pattern, look at the echo, edit. Never read a whole file — every command returns the few lines around what it did, and that echo IS your verification (no re-reads needed). ## Setup — every command, two rules 1. **Pin the sandbox root in the same shell command** (shell env does not persist between your calls): ``` export DJINNVIM_ROOTS=/abs/path/to/project; djinnvim open src/app.py ``` 2. **Pass each editor command as ONE quoted argument.** Single-quote it; switch to double quotes only when the text itself contains a single quote: ``` djinnvim edit 'at /old_name/ ciw new_name' djinnvim substitute ":%s/'eu-west'/'us-east'/" ``` State (open buffers, cursor, registers, undo) persists across your shell calls via an auto-spawned per-session daemon — nothing to start or manage. `djinnvim status` shows it, `djinnvim shutdown` stops it (unwritten buffers die with it; only `write` touches disk). Exit codes: 1 = the editor said `error: ...` (read it — the buffer is untouched), 2 = usage/daemon problem. ## The seven verbs - `djinnvim open PATH` — open/switch the active buffer. Relative paths resolve against the root, not your cwd. - `djinnvim motion CMD` — move the cursor, one motion per call: `/pattern` (regex, forward), `?pattern` (back), `n`/`N` (next/prev — n is ALWAYS forward, N ALWAYS backward, unlike vim), `:80` (line), `gg`