Vim-like experience for PySide2 applications like Nuke, Maya, Houdini.
Important
The plugin is still in development and although most of the features are working, there are many bugs and missing features.
- Nuke
- Maya
- Houdini (may not be possible, see #2)
VimDCC adds Vim-style functionality to QPlainTextEditor in PySide2 applications like Nuke, Maya, and Houdini. It's not a full Vim replacement but provides enough key features to make it worth your time.
- Modes: Supports Normal, Insert, Visual, and Visual Line.
- Persistent Registers:
Named
: Save and recall snippets.Clipboard
: Clipboard manager.
- Search: Vim-like search with
/
. - Marks: Save and jump to positions.
Note: Some Vim motions and commands (e.g., e
, a
, o/O
) have limited functionality. See Known Issues for details.
- Download: Get the latest release here.
- Nuke Setup:
- Copy the
vimdcc
folder to~/.nuke
. - Add this to your
menu.py
file:from vimdcc import vimdcc vimdcc.install_nuke()
- Access the plugin via Nuke → Windows → Custom → VimDCC.
- Copy the
- Launch on startup: Enable/disable auto-launch and status bar placement.
- Previewer auto-insert: Automatically insert selected register (True/False).
- Clipboard size: Limit the number of stored snippets.
- Copy to clipboard: Sync registers with the system clipboard.
General:
- Key Commands:
- Deleting with
x
,X
,s
doesn’t save deleted characters to the register. - Unrecognized key commands can pile up in the input buffer. Press
Esc
to reset.
- Deleting with
- Session Limitation: Only one editor is supported per session.
- Motion Support:
e
motion does not handle punctuation correctly.a
text object doesn’t work well with thew
motion.
Visual Mode:
- Line Mode: May fail in some cases, especially when navigating upward.
- Search Motions: Combining Visual mode with search can cause unexpected behavior.
Command Limitations:
o
andO
commands don’t respect previous indentation.
Ctrl+r
: Execute codeAlt+r
: Redo\
: Show clipboard panel'
: Show named registers`
: Show marks
Check the TODO.md file for planned features or to suggest improvements. Contributions are welcome!