Vimperator

Last updated
Vimperator
Original author(s) Martin Stubenschrott
Developer(s) Martin Stubenschrott, Doug Kearns, Kris Maglione
Stable release
3.16.0 [1] / February 1, 2017;7 years ago (2017-02-01)
Repository github.com/vimperator/vimperator-labs
Platform Firefox
Type Firefox extension
License MIT License
Website vimperator.org/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.

Contents

Notable features

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

Hint mode

Vimperator hint mode (a screenshot of vimperator version 2) Vimp2 hints.png
Vimperator hint mode (a screenshot of vimperator version 2)

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

Automatic completion of an :open command in Vimperator. Vimperator search.png
Automatic completion of an :open command in Vimperator.

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

Vimperator showing :help :open Vimp2 help open.png
Vimperator showing :help :open

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 with external editor Vimperator running an external editor.png
Vimperator with external editor

Vimperator allows the use of external texteditors 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. [3] [4] The scripts are written using JavaScript and a limited version of Vimscript.

See also

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">Vim (text editor)</span> Improved version of the Vi keyboard-oriented text editor

Vim is a free and open-source, screen-based text editor program. It is an improved clone of Bill Joy's vi. Vim's author, Bram Moolenaar, derived Vim from a port of the Stevie editor for Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface. Since its release for the Amiga, cross-platform development has made it available on many other systems. In 2018, it was voted the most popular editor amongst Linux Journal readers; in 2015 the Stack Overflow developer survey found it to be the third most popular text editor, and in 2019 the fifth most popular development environment.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

Ctags is a programming tool that generates an index file of names found in source and header files of various programming languages to aid code comprehension. Depending on the language, functions, variables, class members, macros and so on may be indexed. These tags allow definitions to be quickly and easily located by a text editor, a code search engine, or other utility. Alternatively, there is also an output mode that generates a cross reference file, listing information about various names found in a set of language files in human-readable form.

Command-line completion is a common feature of command-line interpreters, in which the program automatically fills in partially typed commands.

<span class="mw-page-title-main">Conkeror</span> Mozilla-based web browser

Conkeror is a Mozilla-based web browser designed to be navigated primarily by a computer keyboard. Its design is mainly patterned after the text editor GNU Emacs, with some influence from other programs, including vi.

<span class="mw-page-title-main">Incremental search</span> User interface method to search for text

In computing, incremental search, also known as hot search, incremental find or real-time suggestions, is a user interface interaction method to progressively search for and filter through text. As the user types text, one or more possible matches for the text are found and immediately presented to the user. This immediate feedback often allows the user to stop short of typing the entire word or phrase they were looking for. The user may also choose a closely related option from the presented list.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

Mozilla Firefox has features which distinguish it from other web browsers, such as Google Chrome, Safari, and Microsoft Edge.

Archy is a software system that had a user interface that introduced a different approach for interacting with computers with respect to traditional graphical user interfaces. Designed by human-computer interface expert Jef Raskin, it embodies his ideas and established results about human-centered design described in his book The Humane Interface. These ideas include content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI). The system was being implemented at the Raskin Center for Humane Interfaces under Raskin's leadership. Since his death in February 2005 the project was continued by his team, which later shifted focus to the Ubiquity extension for the Firefox browser.

In computing, caret navigation is a kind of keyboard navigation where a caret is used to navigate within a text document.

<span class="mw-page-title-main">Pentadactyl</span> Firefox extension

Pentadactyl is a discontinued Firefox extension forked from the Vimperator 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.

<span class="mw-page-title-main">Tab Mix Plus</span>

Tab Mix Plus was a Mozilla Firefox extension that adds to the tabbed browsing functions in Firefox. It was a popular extension on Mozilla Add-ons, which records download statistics. TMP is a collection of features from other extensions built in one package. Lifehacker named it one of their "Top 10 must-have Firefox extensions" for 2009. PC World said that "With Tab Mix Plus, Firefox tabs go past the obvious and into the indispensable... it's hard to imagine how you lived without it." As the only extension providing multi-row tab support, Wired and CNET both called it a "must-have" that is "powerful" and "gives you what feels like an infinite amount of control over tab behaviour."

In computing, a keyboard shortcut is a sequence or combination of keystrokes on a computer keyboard which invokes commands in software.

<span class="mw-page-title-main">Features of the Opera web browser</span> List of software application features

This article details features of the Opera web browser.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.2, released January 2024.

<span class="mw-page-title-main">Uzbl</span> Open source minimalist web browser

Uzbl is a discontinued free and open-source minimalist web browser designed for simplicity and adherence to the Unix philosophy. Development began in early 2009 and is still considered in alpha software by the developers. The core component of Uzbl is written in C, but other languages are also used, most notably Python. All parts of the Uzbl project are released as free software under GNU GPL-3.0-only.

xombrero Minimalistic web browser designed to replace Firefox

xombrero is a discontinued open-source web browser developed with a goal to be a lightweight and secure replacement for full featured browsers like Firefox. The browser has found a niche among minimalist browsers for heavy keyboard users by balancing minimalism with usability.

<span class="mw-page-title-main">Text-based email client</span> Email client that does not use graphics

A text-based email client is an email client with its user interface being text-based, occupying a whole terminal screen. Other kind of email clients are GUI-based or Web-based, see Webmail.

References

  1. Vimperator changelog
  2. Brockmeier, Joe (June 22, 2007). "How to control Firefox using Vim keybindings" . Retrieved January 4, 2009.
  3. Vimperator - Google Code: Issues - vimperator-labs - Creating efficient user interfaces for existing applications
  4. Vimperator - vimpr: Vimperator plugins on vimpr