# Vimperator

Vimperator is a discontinued Firefox extension forked from the original Firefox extension version of Conkeror and designed to provide a more efficient user interface for keyboard-fluent users. The design is heavily inspired by the Vim text editor, and the authors try to maintain consistency with it wherever possible.
In 2017, Vimperator was discontinued due to several changes in Firefox that would have required a complete rewrite to make it compatible.

## Notable features

One of Vimperator's most notable features is mouseless browsing, which is a result of Vimperator's hints, command line with command completion, and comprehensive keyboard-accessible help system.

### Hint mode

Vimperator hints allow users to perform actions on clickable web page items that would normally be completed with the mouse. When the hint mode is accessed, all clickable items on a page are tagged with numbers. The user can select one of the items by typing its number or typing a part of its link text. Once the item is unambiguously specified, the browser proceeds as if the item was accessed with the mouse. Depending on how hint mode was entered, the browser might proceed by clicking on the item, focusing on it, copying its link location, or several other tasks that would usually be completed with aid of a mouse.
This function was originated in an extension named Hit-a-Hint, and the Vimperator developers adopted the function as a Vimperator module in the early stage of development, and rewrote the code to make it lighter in pages with many links. They also added function of selecting actions like copying link locations etc.

### Command line

Most of Vimperator's features may be accessed via its Vim-like command line that appears at the bottom of each window. As with Vim, these commands begin with ':'. When the ':' key is pressed, Vimperator moves into "ex mode," which moves the cursor into the command line for the user to complete the command.

### Completion

Vimperator provides a sophisticated completion system with auto-completion support. This not only saves typing, but allows the user to explore without having to resort to manuals, or indeed leave the command line at all. Often, completion eliminates the need for menus. For instance, instead of using the tab menu, a user with auto-completion enabled may press 'b' to open the command line to the 'buffer' command, which will automatically provide a completion list of all open tabs. The user would then select a tab by typing part of its title, URL, or index.

### Online help

To ameliorate its steep learning curve, Vimperator provides an online help system similar to that of Vim. The 'help' command provides quick access to help on a wide array of topics, including all available commands and options. The help pages are indexed via tags, which the user can see while browsing the help pages. To access a help section in the future, one simply needs to type :help <tag>. Moreover, the help tags follow common naming guidelines. So, for instance, all commands are tagged with :<command>, all options with <option>.

### External editor

Vimperator allows the use of external text editors for data entry in text input areas. Pressing ^I whilst the cursor is in one of these areas starts the editor.

### Scripts

Vimperator supports extending its base functionality with scripts. The scripts are written using JavaScript and a limited version of Vimscript.