Anki add-on: AnkiVim

Bring modal editing and Vim/Neovim power straight into the Anki Note Editor. This add-on implements a fast, responsive Python-to-JavaScript bridge to handle structural DOM manipulations natively within Anki's fields. No more clicking around to edit your cards—keep your hands on the home row! 🛠️ Supported Vim Commands & Keybindings Below is the list of keybindings currently parsed and supported by the internal engine: 1. Basic Motions (Movement) Move around your text fields efficiently: h / j / k / l – Left, Down, Up, Right w / b / e – Word forward, Word backward, End of word (case-sensitive variants: W , B , E ) 0 / ^ / $ – Start of line, First non-blank character, End of line G – Go to end of field H / M / L – Home, Middle, Last lines visible ( / ) – Sentences backward / forward { / } – Paragraphs backward / forward % – Jump to matching bracket or HTML tag + / - – Next line / Previous line 2. Standalone & Editing Actions x / X – Delete character under / before cursor p / P – Paste register text after / before cursor *(no support yet) * u – Undo (no support yet) Ctrl-R – Redo (parcial support) . – Repeat last change ~ – Toggle character case J – Join lines 3. Text Objects & Modifiers Combine operators with i (inner) or a (around) to modify chunks of text: Words: w , W Sentences & Paragraphs: s , p (not implemented yet) Blocks & Brackets: b , B , ( , ) , { , } , [ , ] , < , > (parcially implemented) 4. Operators c – Change d – Delete (Partial support) y – Yank (Copy) (no support yet) > / < / = – Indent, Unindent, Auto-format (not yet fully implemented) 5. Entering Insert Mode i / I – Insert at cursor / Start of line a / A – Append after cursor / End of line o / O – Open new line below / above c / C – Change selection / Change to end of line s / S – Substitute character / Substitute entire line (Not yet implemented) ⚠️ Important: Current Work in Progress & Limitations Please keep in mind that this add-on is under active development. The parser structures are in place, but some complex Vim features are only partially / not implemented, this is intentional : Yank, Delete & Paste ( y , d , p ): Basic register storage no not work yet. Visual Mode ( v , V ): Selection blocks are experimental for now and not fully integrated. Command Mode ( : , / , ? ): Command-line entry is NOT existing yet. HTML Tag Edge Cases: Due to how Anki structures rich text internally, there are known edge cases when using text objects inside HTML list elements ( <ul> and <li> ). 📖 New to Vim? If you are unfamiliar with what these individual keys do or want to learn the shortcuts, check out this excellent reference tool: 👉 Vim Cheat Sheet 💻 Open Source & Contributions Found a bug with HTML tags or want to help implement full visual mode? Check out source code, file issues, or submit PRs here: 👉 GitHub Repository

GitHub repository: liwoe/ankivim
Repository description: This repo brings Vim to Anki.
Languages: JavaScript, Python, CSS