▒▓█▒░
▒█▓▓░▒░
██▓█▒▒▒▒
▒▓██▓░▒▒▒░
▓▒▒█▒▒░░░░
░▒▒░░░▒░
░▒▒▒▒░
⋅𝕭𝖆𝖘𝖆𝖑𝖙⋅
TUI Application to manage Obsidian
vaults and notes directly from the terminal.
───────────────────────────────────────────────────────────────────────────────
%version-notice
DISCLAIMER
Basalt is in its early stages, with a very limited set of features, and is
therefore susceptible to changes. The experimental editor feature is disabled
by default but can be enabled in the configuration file. When enabled, it
allows basic note modification and editing capabilities.
Quitting the application may feel a bit abrupt, as the application exits
immediately after pressing ‹q›. I have some plans to handle this differently
in the future. For example, through a series of button presses or by using
command inputs similar to Vim's ‹:quit› or ‹:q›.
VAULT SELECTION
On startup screen you can select the Vault you want to view. Any open vaults
are shown with a ◆ symbol marker.
DEFAULT KEY BINDINGS
‹q›, Quit the application
‹Ctrl+C›
‹?› Show this help
‹k› Move selection up
‹j› Move selection down
‹↩ Enter› Select and open the highlighted vault
‹Tab› Switch to next pane
‹Shift+Tab› Switch to previous pane
The vault selection can be brought up as a modal by hitting ‹Ctrl+G› after
the startup screen.
INTERFACE
The application has two main panes: the Explorer (file browser) on the left
and the Note Editor on the right. You can switch between these panes using
the Tab key. The currently active pane will be highlighted and name of the
active pane is displayed in the lower left corner of the application.
EXPLORER PANE
Browse and select notes from your vault.
The explorer shows all notes and folders in your vault. You can navigate up
and down through the list, and press Enter to select and view a note. The
explorer panel can be toggled on/off to give more space to the note editor.
DEFAULT KEY BINDINGS
‹q›, Quit the application
‹Ctrl+C›
‹?› Show this help
‹Esc› Cancel/close modals
‹k / j› Move selection up / down
‹↑ / ↓› Move selection up / down
‹s› Toggle note sorting
‹t› Toggle explorer panel visibility
‹↩ Enter› Select and view the highlighted note
‹Tab› Switch to next pane
‹Shift+Tab› Switch to previous pane
‹Ctrl+G› Toggle vault selector modal
‹Ctrl+B› Toggle explorer panel visibility
‹Ctrl+U› Scroll up half a page
‹Ctrl+D› Scroll down half a page
OUTLINE PANE
Browse and go to heading in a note.
The outline shows all headings in the note. You can navigate up and down
through the list, and press ‹Enter› to expand or collapse a heading. To
move the cursor to the heading in the document press ‹g›. The outline pane
can be toggled on/off to give more space to the note editor.
DEFAULT KEY BINDINGS
‹q›, Quit the application
‹Ctrl+C›
‹?› Show this help
‹Esc› Cancel/close modals
‹k / j› Move selection up / down
‹↑ / ↓› Move selection up / down
‹g› Move editor cursor to currently selected heading
‹↩ Enter› Expand or collapse heading
‹Tab› Switch to next pane
‹Shift+Tab› Switch to previous pane
‹Ctrl+O› Toggle outline pane visibility
‹Ctrl+G› Toggle vault selector modal
‹Ctrl+B› Toggle explorer pane visibility
NOTE EDITOR PANE
Read and navigate through your selected note. The note editor supports
multiple modes when experimental editor is enabled.
VIEW MODE (Default)
View mode displays the rendered markdown content with navigation support.
This is the default display mode for reading notes.
DEFAULT KEY BINDINGS
‹q› Quit the application
‹?› Show this help
‹Esc› Cancel/close modals
‹k / j› Move cursor up / down
‹↑ / ↓› Move cursor up / down
‹← / →› Move cursor left / right (one character)
‹Alt+←› Move cursor left by word
‹Alt+→› Move cursor right by word
‹t› Toggle explorer panel visibility
‹Tab› Switch to next pane
‹Shift+Tab› Switch to previous pane
‹Ctrl+G› Toggle vault selector modal
‹Ctrl+B› Toggle explorer panel visibility
‹Ctrl+U› Scroll up half a page
‹Ctrl+D› Scroll down half a page
EXPERIMENTAL EDITOR (when enabled):
‹i› Enter edit mode
‹Shift+R› Enter read mode
‹Ctrl+X› Save note
‹Esc› Exit current mode
EDIT MODE (Experimental)
Edit mode allows you to make changes to your note. This mode uses the
tui-textarea crate and provides basic text editing capabilities.
WARNING: Edit mode key mappings cannot be modified through configuration.
EDITING COMMANDS
‹Ctrl+H›, ‹Backspace› Delete character before cursor
‹Ctrl+D›, ‹Delete› Delete character at cursor
‹Ctrl+M›, ‹Enter› Insert newline
‹Ctrl+K› Delete from cursor to end of line
‹Ctrl+J› Delete from cursor to beginning of line
‹Ctrl+W›, ‹Alt+H›, Delete word before cursor
‹Alt+Backspace›
‹Alt+D›, ‹Alt+Delete› Delete word after cursor
UNDO/REDO AND CLIPBOARD
‹Ctrl+U› Undo
‹Ctrl+R› Redo
‹Ctrl+C›, ‹Copy› Copy selected text
‹Ctrl+X›, ‹Cut› Cut selected text
‹Ctrl+Y›, ‹Paste› Paste text
CURSOR MOVEMENT
‹Ctrl+F›, ‹→› Move forward one character
‹Ctrl+B›, ‹←› Move backward one character
‹Ctrl+P›, ‹↑› Move up one line
‹Ctrl+N›, ‹↓› Move down one line
‹Alt+→›, ‹Ctrl+→› Move forward by word
‹Alt+←›, ‹Ctrl+←› Move backward by word
‹Alt+]›, ‹Alt+P›, Move up by paragraph
‹Ctrl+↑›
‹Alt+[›, ‹Alt+N›, Move down by paragraph
‹Ctrl+↓›
LINE/DOCUMENT NAVIGATION
‹Ctrl+E›, ‹End›, Move to end of line
‹Ctrl+Alt+F›
‹Ctrl+A›, ‹Home›, Move to beginning of line
‹Ctrl+Alt+B›
‹Alt+<›, ‹Ctrl+Alt+P› Move to top of document
‹Alt+>›, ‹Ctrl+Alt+N› Move to bottom of document
‹Ctrl+V›, ‹PageDown› Scroll down by page
‹Alt+V›, ‹PageUp› Scroll up by page
────────────────────────────────────────────────────────────────────────────
CONFIGURATION
Basalt key mappings can be modified or extended by defining key mappings in
the user configuration file. Each key mapping is associated with a specific
'pane' and becomes active when that pane has focus. The global section
applies to all panes and is evaluated first.
The experimental editor feature is disabled by default. To enable editor
functionality, set `experimental_editor = true` in your configuration file.
Available commands are organized by pane:
GLOBAL COMMANDS:
quit, vault_selector_modal_toggle, help_modal_toggle
SPLASH COMMANDS:
splash_up, splash_down, splash_open
EXPLORER COMMANDS:
explorer_up, explorer_down, explorer_open, explorer_sort, explorer_toggle,
explorer_switch_pane, explorer_scroll_up_one, explorer_scroll_down_one,
explorer_scroll_up_half_page, explorer_scroll_down_half_page
OUTLINE COMMANDS:
outline_up, outline_down, outline_toggle, outline_toggle_explorer,
outline_switch_pane_next, outline_switch_pane_previous outline_expand,
outline_select
NOTE EDITOR COMMANDS:
note_editor_cursor_up, note_editor_cursor_down, note_editor_scroll_up_one,
note_editor_scroll_down_one, note_editor_scroll_up_half_page,
note_editor_scroll_down_half_page, note_editor_toggle_explorer,
note_editor_switch_pane
EXPERIMENTAL EDITOR COMMANDS:
note_editor_experimental_set_edit_mode, note_editor_experimental_set_read_mode,
note_editor_experimental_save, note_editor_experimental_exit_mode,
note_editor_experimental_cursor_word_forward,
note_editor_experimental_cursor_word_backward
MODAL COMMANDS:
help_modal_toggle, help_modal_close, help_modal_scroll_up_one,
help_modal_scroll_down_one, help_modal_scroll_up_half_page,
help_modal_scroll_down_half_page, vault_selector_modal_up,
vault_selector_modal_down, vault_selector_modal_close,
vault_selector_modal_open, vault_selector_modal_toggle
────────────────────────────────────────────────────────────────────────────
FEATURES
• Navigate and read notes from any Obsidian Vault using terminal
• Nested folders and notes are supported
• Key bindings can be changed with configuration
• View markdown notes in a readable, custom styled format
• Toggle between focused note reading and vault exploration
• Sort notes alphabetically
• Experimental editor mode for note modification (when enabled)
• Multiple editor modes: View mode for reading, Edit mode for changes
• Basic text editing capabilities in Edit mode
• Undo/redo functionality and clipboard operations (Only in Edit mode while modifying a markdown block)
────────────────────────────────────────────────────────────────────────────
KNOWN LIMITATIONS
• Images are not rendered
• External links are not clickable
• Markdown tables are not rendered properly
• There is no syntax highlighting for code blocks
• Markdown inline text styles are not rendered
• Experimental editor is disabled by default and requires configuration
• Edit mode key mappings cannot be customized