AnkiVim

AnkiWeb addon 978943807

Brings Vim/Neovim modal editing and keybindings into Anki's note editor, though yank, paste, visual mode, and command-line features remain incomplete or unimplemented.
AI-generated summary; may contain mistakes.

shortcutsbeta

Open on AnkiWeb GitHub Ask about alternatives

AnkiWeb

Rating
0 (πŸ‘ 0 Β· πŸ‘Ž 0)
Updated
2026-05-23
Anki versions
25.09.4~
Description language
en

Maintenance

active

  • Last update or commit was 131 days before the snapshot (2026-05-23).

GitHub

Repository
liwoe/ankivim Β· more by liwoe
Stars
⭐ 1 · forks 0 · open issues 0
Last commit
2026-05-23
License
AGPL-3.0
Languages
JavaScript, Python, CSS
Tests
0

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
23.1025.09.4+2026-05-23
History across monthly snapshots

Loading…

Similar addons

Vim Mode

Adds Vim keybindings to Anki’s note editor with normal/insert modes, field navigation, a mode indicator, and partially implemented visual, delete, and yank operations.

card-creationnote-managementshortcutsbeta

Rating 2 πŸ‘ 1 Β· πŸ‘Ž 1 ⭐ 3 Anki 25.09.1~ Updated 2026-06-11
Customize Keyboard Shortcuts (Enhanced Edition)

Provides an interactive virtual keyboard to manage, visualize, and capture Anki keyboard shortcuts, detect system layouts, discover third-party add-on shortcuts, and support English, French, and Chinese.

shortcuts

Rating 0 πŸ‘ 0 Β· πŸ‘Ž 0 ⭐ 0 Anki 23.09~ Updated 2026-09-20
External Editor

Replaces Anki's built-in HTML editor with a configurable external editor, triggered by Ctrl+x, with executable detection and fallback.

note-managementformattingshortcuts

Rating 21 πŸ‘ 17 Β· πŸ‘Ž 4 ⭐ 7 Updated 2020-07-27

README

BetterAnkiVim πŸš€

A lightweight, robust Anki add-on that brings modal editing and Vim/Neovim keybindings directly into the Anki note editor. Built using a fast Python-JavaScript bridge to handle DOM manipulations natively.

Features ✨

  • Modal Editing: Toggle between standard input and Vim commands effortlessly.
  • Core Motions: Seamlessly navigate text fields using standard h, j, k, l movements.
  • Registers: Basics for delete (d). The yank (y) and paste (p) commands will be implemented soon.
  • Operators & Motions: Standard combinations like w, b, e, 0, $, gg, G, etc.
  • Native Look: Blends cleanly into Anki's native editor styling (native_vim.css).

Current Project Structure πŸ“‚

The project is structured with modularity in mind, splitting the JavaScript engine from the Anki Python wrapper:

  • __init__.py: Add-on entry point and Python-to-JavaScript communication bridge.
  • manifest.json / meta.json: Anki add-on configurations.
  • parser.py: Is the core for this project. Instead of directly handeling commands etc. I wrote an own python parser.
  • /UI: For this project to work I needed javascript injections. The parsed commands get handled in this folder. (I will rename this folder soon)

⚠️ Work in Progress / Limitations

Please note that this add-on is currently under active development. Some core Vim functionalities are not fully implemented yet:

  • Visual Mode: Visual (v) and Visual Line (V) selections: The commands / motions don't work in here yet.
  • Command-Line Mode: Complex commands (via :) and advanced parsing are still not implemented at all.
  • Complex Combos: Certain multi-stroke operators or edge-case text objects are still being refactored. Like (`<ul>') tags.

Installation πŸ› οΈ

Manual Installation (Development)

  1. Option: Just download via the Anki-Addon page you came from. (Follow instructions there.): https://ankiweb.net/shared/info/978943807?cb=1779547478922

  2. Option: Clone this repository into your Anki add-ons folder:

    cd %APPDATA%\Anki2\addons21
    git clone [https://github.com/liwoe/AnkiVim.git](https://github.com/liwoe/AnkiVim.git) BetterAnkiVim
    
    

Contribution

Feel free to commit to my project and report Issues/Bugs. It may take some time for to fix them and implement other stuff as I dont have much time currently.