feat: add modal Vim editing to notes
This commit is contained in:
@@ -194,6 +194,31 @@ Embedded images display with 8-point rounded corners. Rounding only clips their
|
||||
|
||||
Notes autosave locally as RTFD packages, including embedded images, under `~/Library/Application Support/Conjure/Notes`. No account, network access, or cloud sync is involved. Save failures appear below the editor and prevent switching, closing, or quitting until saving succeeds, preserving the unsaved buffer. The Close button and Command-W dismiss Conjure, including any open popup; leaving Notes or switching destinations removes its popup completely and restores the launcher’s original dimensions.
|
||||
|
||||
### Vim editing
|
||||
|
||||
Click **Vim Off** at the left of the Notes header to enable modal editing. The button shows **NORMAL**, **INSERT**, **VISUAL**, or **VISUAL LINE**; click it again to disable Vim. This preference persists across reopening and app restarts. Opening or switching notes starts in Normal mode when enabled; ordinary editing is unchanged when disabled.
|
||||
|
||||
| Operation | Keys |
|
||||
| --- | --- |
|
||||
| Move by visible character / logical line | `h` / `l`, `j` / `k` (or arrow keys) |
|
||||
| Next word / previous word / word end | `w` / `b` / `e`; uppercase `W` / `B` / `E` treats punctuation as part of a word |
|
||||
| Line start / first nonblank / line end | `0` / `^` / `$` |
|
||||
| First / last line; numbered line | `gg` / `G`; `12gg` or `12G` |
|
||||
| Insert before / after; first nonblank / line end | `i` / `a`; `I` / `A` |
|
||||
| Open a line below / above | `o` / `O` |
|
||||
| Characterwise / linewise selection | `v` / `V`; repeat to leave that selection mode |
|
||||
| Delete / change / yank | `d` / `c` / `y` followed by a motion, or applied to a Visual selection |
|
||||
| Delete / change / yank whole lines | `dd` / `cc` / `yy` |
|
||||
| Delete characters; delete / change through line end | `x`; `D` / `C` |
|
||||
| Paste after / before | `p` / `P` |
|
||||
| Native Undo / Redo | `u` / Control-R; Command-Z / Command-Shift-Z remain available |
|
||||
| Return to Normal / cancel a pending command | Escape or Control-[ |
|
||||
|
||||
Counts work before motions and operators, including `3j`, `2dd`, and `2d3w`. Vertical movement uses logical lines rather than wrapped display rows and retains the desired column across shorter lines. Character motions and selections respect composed Unicode characters and skip hidden Markdown syntax. Whole-token operators carry recognized inline formatting delimiters with their visible text; linewise operations include heading and list prefixes. Yank/delete/change use a local unnamed register, preserving attributed text and embedded images for `p`/`P` without replacing the system clipboard. Editing and Undo still use the native text view and RTFD autosaves.
|
||||
|
||||
Escape closes an open picker first; otherwise, with Vim enabled, it returns to Normal without dismissing Notes. Command-W still dismisses the window. Command shortcuts, formatting controls, and native Insert-mode input remain available. Pending commands cancel on focus changes and Command shortcuts. This is a supported Vim subset, not an embedded Vim: search, text objects, named registers, macros, and dot-repeat are not implemented.
|
||||
|
||||
|
||||
## Translation
|
||||
|
||||
Search for **Conjure Translate**, identified by its centered 🌏 icon, and open it. With empty or whitespace-only source text, Return or **Swap languages** reverses the source and target without submitting a request. **MyMemory** translates the text in one step: press Return or click **Translate** to submit. Typing alone never sends text.
|
||||
|
||||
Reference in New Issue
Block a user