← 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 70
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). Reach for it when finding or changing something would otherwise mean reading a whole file, when a change repeats across many sites, or when file and shell tools are restricted. Creating a file or rewriting one wholesale is not its job. ## 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'/" ``` 3. **`-f PATH` names the file to work on**, opening it if needed, so `edit`, `substitute`, `print`, `matches` and `write` need no separate `open` call: `djinnvim edit -f src/app.py 'at /old/ ciw new'`. Without it they use the active buffer. A switch is announced in the echo (`[now on ... ]`). 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 i