Firefox 瀏覽器附加元件
  • 擴充套件
  • 佈景主題
    • 用於 Firefox
    • 字典與語言套件
    • 其他瀏覽器網站
    • Android 版的附加元件
登入
Vi Editing Mode 預覽

Vi Editing Mode 作者: 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)
24 Users24 Users
必須使用 Firefox 才能使用此擴充套件
下載 Firefox 並安裝擴充套件
下載檔案

擴充套件後設資料

關於此擴充套件
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.
由 1 位評論者給出 5 分
登入後即可幫此擴充套件評分
目前沒有評分

已儲存星等

5
2
4
0
3
0
2
0
1
0
閱讀全部 2 條評論
權限與資料了解更多

必要權限:

  • 存取您所有網站中的資料

選用的權限:

  • 取得剪貼簿中的資料
  • 輸入資料到剪貼簿
更多資訊
附加元件網址
  • 首頁
  • 技術支援網站
版本
0.0.11
大小
37.1 KB
最近更新
9 個月前 (2024年11月21日)
相關分類
  • 其它
授權條款
MIT License
版本紀錄
  • 瀏覽所有版本
新增至收藏集
檢舉此附加元件
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.
Mechiel Lukkien 製作的更多擴充套件
  • 目前沒有評分

  • 目前沒有評分

  • 目前沒有評分

  • 目前沒有評分

  • 目前沒有評分

  • 目前沒有評分

前往 Mozilla 官網

附加元件

  • 關於
  • Firefox 附加元件部落格
  • 擴充套件工作坊
  • 開發者交流中心
  • 開發者政策
  • 社群部落格
  • 討論區
  • 回報 Bug
  • 評論撰寫指南

瀏覽器

  • Desktop
  • Mobile
  • Enterprise

產品

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • 隱私權
  • Cookie
  • 法律資訊

除另有註明外,本站內容皆採用創用 CC 姓名標示—相同方式分享條款 3.0 或更新版本授權大眾使用。