Modules pour le navigateur Firefox
  • Extensions
  • ThĂšmes
    • pour Firefox
    • Dictionnaires et paquetages linguistiques
    • Sites pour les autres navigateurs
    • Modules pour Android
Connexion
Aperçu de Vi Editing Mode

Vi Editing Mode par Mechiel Lukkien

Automatically and non-intrusively add a vi editing mode to all textareas/inputs. Behaviour remains unchanged (like insert mode), hitting Escape enables command mode.

5 (2 reviews)5 (2 reviews)
22 utilisateurs·trices22 utilisateurs·trices
Vous avez besoin de Firefox pour utiliser cette extension
TĂ©lĂ©charger Firefox et obtenir l’extension
Télécharger le fichier

MĂ©tadonnĂ©es de l’extension

À propos de cette extension
Automatically and non-intrusively add a vi editing mode to all textarea/input
elements on pages, so you can use vim keys/shortcuts to edit and navigate text.
Inputs/textareas keep working as they normally do (like insert mode, handled by
the browser), hitting "escape" enables command mode on the focused element,
indicated with a box-shadow.

Features:
- Simple, automatic, non-intrusive vi editing.
- Command, visual and visual-line modes.
- Plenty of commands/keys (but please contribute more!)
- Multi-level undo and redo.
- Repeat.
- The tab key inserts literal tabs after having been in command mode, until the element loses focus.
- Only basic addon permissions needed. (clipboard read/write permission requested on first use).

Non-goals:
- vi-like keys for other browser behaviour, like navigating on a page or the internet.
- Full-blown vi/vim editor (not all commands are needed, it doesn't have to look like a standalone vi/vim, it would be too much for an input element).
- Marks, tags, macros, registers, custom key mappings and other advanced features.

# Limitations

Since vi.js uses basic textarea/input elements, it inherits some
limitations/behaviour:

Textareas don't expose whether text (e.g. the selection) is visible in the
viewport. This limits how vi.js can implement some commands/motions.

Insert mode is handled by the browser (with the exeception of Tab, which can
insert a literal tab), including undo/redo while typing. JS doesn't have access
to textarea undo/redo history. vi.js tracks history for changes it makes (based
on commands), and tracks changes during insert by comparing contents between
going into insert mode. The edits a user makes in insert mode are turned into a
single history change to undo/redo.

In vi/vim, the cursor is typically "on" a character. With a textarea, it is
shown between characters. The position at the end of the line, after the last
character, before the newline, is not normally a separate position in vi. vi.js
lets you navigate to these positions, which changes how some motion keys work.

Access to the clipboard is only explicitly with the "y" and "p" keys. Commands
that remove/replace text don't change the clipboard.

Not all input types are supported, browsers only allow editing selections on
some files: text, search, url, tel, password. Others don't work: email,
time, etc.

Popular messaging web applications have custom UI elements for sending messages,
for their rich text. They often don't use standard textarea/input elements, so
this plugin won't help with those apps.

Some applications use "Escape" as a shortcut to cancel. Use "ctrl-{" as
alternative. Unfortunately, the obvious alternative "ctrl-[" is interpreted by
firefox as "back" and can't be intercepted.

See https://github.com/mjl-/vijs for details and development of this addon.
Noté 5 par 2 personnes
Connectez-vous pour noter cette extension
Il n’y a aucune note pour l’instant

Le nombre d’étoiles est enregistrĂ©

5
2
4
0
3
0
2
0
1
0
Lire les 2 critiques
Autorisations et donnéesEn savoir plus

Autorisations nécessaires :

  • AccĂ©der Ă  vos donnĂ©es pour tous les sites web

Autorisations facultatives :

  • Lire les donnĂ©es du presse-papiers
  • Ajouter des donnĂ©es dans le presse-papiers
Plus d’informations
Liens du module
  • Page d’accueil
  • Site d’assistance
Version
0.0.11
Taille
37,1 Ko
DerniĂšre mise Ă  jour
il y a 9 mois (21 nov. 2024)
Catégories associées
  • Autre
Licence
Licence MIT
Historique des versions
  • Voir toutes les versions
Ajouter Ă  la collection
Signaler ce module
Notes de version pour la version 0.0.11
v0.0.11

- Add an "id" to the manifest.json for Firefox.

v0.0.10

- Switch to manifest v3, this add-on/extension works with Chromium too.
- Use internal fake clipboard buffer if it isn't available, to make 'y' and 'p'
(yank/paste) somewhat work in insecure contexts.
Plus de modules créés par Mechiel Lukkien
  • Il n’y a aucune note pour l’instant

  • Il n’y a aucune note pour l’instant

  • Il n’y a aucune note pour l’instant

  • Il n’y a aucune note pour l’instant

  • Il n’y a aucune note pour l’instant

  • Il n’y a aucune note pour l’instant

Aller à la page d’accueil de Mozilla

Modules complémentaires

  • À propos
  • Blog des modules complĂ©mentaires Firefox
  • Atelier sur les extensions
  • PĂŽle dĂ©veloppeur
  • Politiques Ă  destination des dĂ©veloppeurs
  • Blog de la communautĂ©
  • Forum
  • Signaler un problĂšme
  • Guide de revue

Navigateurs

  • Desktop
  • Mobile
  • Enterprise

Produits

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • ConfidentialitĂ©
  • Cookies
  • Mentions lĂ©gales

Sauf mention contraire, le contenu de ce site est disponible sous licence Creative Commons Attribution Share-Alike v3.0 ou toute version supérieure.