Introduction
Tridactyl is a Firefox extension inspired by Vimperator and Pentadactyl that transforms the browser into a keyboard-driven tool. It provides Vim-style modal editing with normal, command, hint, and insert modes, letting power users navigate the web, manage tabs, and control the browser entirely from the keyboard.
What Tridactyl Does
- Provides Vim-style modal navigation: normal mode for commands, insert mode for text input
- Displays link hints so you can click any link by typing a short character sequence
- Opens a command line for running browser actions, searching, and executing scripts
- Supports custom key bindings and user-defined commands via a configuration file
- Integrates with an optional native messenger for editing text areas in your terminal editor
Architecture Overview
Tridactyl is a WebExtension written in TypeScript. It injects a content script into every page that intercepts keyboard events and routes them through a modal key handler. The command-line interface runs in an iframe overlay. An optional native messenger binary enables communication with the host OS for features like opening text in an external editor and reading a local configuration file on startup.
Self-Hosting & Configuration
- Install from Firefox Add-ons (AMO) or sideload the XPI for development
- Configure keybindings and settings by editing a tridactylrc file in your home directory
- Install the native messenger for external editor integration and local config loading
- Use the built-in
:setand:bindcommands to customize behavior on the fly - All settings can also be managed through the
:helpdocumentation system
Key Features
- Full Vim-style modal interface with normal, insert, hint, and command modes
- Hint mode for clicking links, buttons, and inputs via keyboard
- Built-in command line with tab completion and help system
- Native messenger for external editor support and local config files
- Extensive customization through tridactylrc and user-defined Ex commands
Comparison with Similar Tools
- Vimium — available for Chrome and Firefox with simpler hint-based navigation; Tridactyl provides deeper Vim integration with modal editing and a command line
- Surfingkeys — cross-browser with JavaScript-based configuration; Tridactyl uses a Vim-style RC file and focuses on Firefox
- qutebrowser — a standalone Vim-like browser; Tridactyl adds Vim controls to Firefox with full extension ecosystem access
- Vim Vixen — Firefox extension with basic Vim bindings; Tridactyl offers a more complete Vimperator-like experience
FAQ
Q: Does Tridactyl work on Chrome? A: No. Tridactyl is Firefox-only because it relies on Firefox-specific WebExtension APIs not available in Chrome.
Q: How do I disable Tridactyl on certain sites?
A: Use the :blacklistadd command or add site patterns to your tridactylrc to automatically enter ignore mode on specific domains.
Q: What is the native messenger and do I need it? A: The native messenger is an optional component that lets Tridactyl read your tridactylrc from disk and open text areas in your terminal editor. Basic functionality works without it.
Q: Can I use my existing Vimperator configuration? A: Tridactyl uses a similar but not identical configuration syntax. Many Vimperator commands have direct equivalents, and the documentation includes a migration guide.