gapmiss2 downloadsNavigate and manage files directly, inspired by the Dired mode from Emacs.
Navigate and manage vault files from a keyboard-driven text buffer, inspired by the Dired mode from Emacs.
The directory listing is a real CodeMirror buffer: the first line is the current path, folders end with /, and every operation is a single key (or two-key chord) away.
R, edit names directly in the buffer, press Enter to apply. Renames and moves go through Obsidian's FileManager, so wiki links and embeds are updated automatically?| Key | Action |
|---|---|
m |
Toggle mark (and advance) |
t |
Toggle all marks |
U |
Unmark all |
*. |
Mark by file extension |
Enter / o |
Open file / view directory |
R |
Rename mode — edit names in the buffer, Enter applies, Esc cancels |
M |
Move marked files (or file at cursor) |
D |
Delete marked files (or file at cursor) to trash |
cd |
Create directory |
cf |
Create file |
u |
Up to parent directory |
g |
Go to directory |
B |
Go to bookmark or any directory |
ab |
Toggle bookmark for current directory |
p / n |
Move to previous / next file |
j |
Jump to file/dir name |
r |
Refresh view |
P |
Toggle preview mode on/off |
? |
Toggle key hints |
Multi-file operations (M, D) apply to marked files, or to the file at the cursor when nothing is marked. In rename mode you can also type a relative path (for example sub/note.md) to move a file into an existing subfolder.
The view inherits your theme's monospace font and editor font size. Everything else — fonts, colors, line numbers, spacing — can be overridden with a CSS snippet: see THEME.md for a selector reference, recipes, and a visual showcase snippet.
.obsidian do not appearHome/End, and selection all work as in a normal editorInstall from community.obsidian.md
From Obsidian's settings or preferences:
Manually:
dired folder to /path/to/vault/.obsidian/plugins/ or:
main.js, manifest.json & styles.css from the latest release/path/to/vault/.obsidian/plugins/dired/path/to/vault/.obsidian/plugins/dirednpm install
npm run dev # esbuild watch
npm run build # type-check + production build
npm run lint # eslint (eslint-plugin-obsidianmd)