Now Reading
wasavi – appsweets akahuku labs.

wasavi – appsweets akahuku labs.

2023-01-15 15:40:41

wasavi is an extension for Chrome, Opera and Firefox. wasavi transforms TEXTAREA factor of any web page right into a VI editor, so you’ll be able to edit the textual content in VI. wasavi helps virtually all VI instructions and a few ex instructions.

wasavi is underneath growth. Any bug report or function request is welcome.

And we additionally welcome a donation to proceed growth:



Salient Options

  • wasavi helps some ex instructions. That is the output of :set all

    set all

  • Vim’s incremental search

    incremental search

  • wasavi online app. Open this hyperlink on a browser that has wasavi extension. wasavi will launch routinely. Then you’ll be able to learn and write recordsdata at your Dropbox/Google Drive/OneDrive account or native recordsdata.

    stand alone

At present, wasavi is obtainable for following browsers solely. Choose your browser and click on the hyperlink. Customary extension set up process of your browser will observe. These extensions are hosted on the addons retailer of their respective browser.

Supply code and newest growth releases are hosted at Github:

A word for Chrome customers

Chrome has reserved some basic shortcuts, equivalent to Ctrl+T, Ctrl+W and Ctrl+N. Though these keys can’t be utilized in wasavi, you should utilize Alt+T, Alt+W and Alt+N.

launch wasavi

Focus TEXTAREA and press Ctrl+Enter.

give up wasavi

To give up wasavi press ZZ or :q or :wq or every other VI give up command.

Which choices are accepted by the :set command?

See this table.

Observe: there are additionally choices that are accepted however haven’t any impact but.

modify preliminary settings:

Open choice wasavi extension (or enter :choices on wasavi),
and edit “exrc” textbox.

management beep

Add set noerrorbells to your exrc to disable beep sound. Should you desire a visible bell, add set visualbell as a substitute.

Additionally, a chime at wasavi startup will be disabled with set nolaunchbell.

The amount of any beeps will be managed with set bellvolume=N. Vary of worth N is 1 to 100.

entry native recordsdata

See document.

use wasavi with Vimperator/Keysnail/VimFx on Firefox


Put wasavi_mediator.js in your Vimperator plugin listing, for instance, ~/.vimperator/plugin or %HOMEpercentvimperatorplugin.

This plugin will management the pass-through mode of Vimperator in accordance with the state of wasavi.


Put wasavi_mediator.ks.js in your Keysnail plugin listing.

This plugin will management droop mode of Keysnail in accordance with the state of wasavi.


Newest VimFx acknowledges wasavi as editable factor. Whereas wasavi is operating, VimFx suspends quickly.

To make use of VimFx’s key binding whereas wasavi is operating, click on outdoors space of wasavi or enter :set esctoblur and press <esc> in regular mode. Then keyboard focus can be faraway from wasavi, and you should utilize VimFx’s key binding.

use wasavi as an unbiased textual content editor

Set up the wasavi extension and open the hyperlink to wasavi online app. wasavi will begin routinely. You need to use ex instructions :learn, :write, :edit or :file to entry your Dropbox/Google Drive/OneDrive recordsdata or native recordsdata. You’ll have to authorize wasavi through OAuth to entry these storages.

See Also

About automated setting override

The :set instructions which you enter whereas wasavi is operating are saved to extension’s persistent storage, and people are regenerated whenever you launch wasavi subsequent time.

This setting override mechanism works every unbiased URLs (max 30). Should you assume that is pointless, put :set nooverride in your exrc. Then overriding might be skipped.

cooperate with Migemo

wasavi for Chrome can Migemo search. Set up Migemo Server, then enter a particular meta character M in search question of / or ? command. If M included in search question, these search instructions are executed through migemo.

I’ve seen a bug

Please create a problem on wasavi issue tracker

  • to maximise the wasavi: :set fullscreen or :set fs
  • to revive the wasavi: :set nofullscreen or :set nofs
  • to vary a shade theme: :set theme=blight or :set theme=charcoal or :set theme=matrix or :set theme=solarized or :set theme=solarized_dark
  • abbreviate syntax is
    • :abbreviate shows all of the abbreviations presently registered.
    • :abbreviate [clear] clears all of the abbreviations.
    • :abbreviate lhs shows the abbreviation akin to lhs.
    • :abbreviate lhs rhs registers a abbreviation which expands lhs to rhs.
    • :abbreviate [noremap] lhs rhs additionally registers, however it isn’t effected remap mechanism.
  • map syntax is
    • :map shows all of the mappings presently registered.
    • :map [clear] clears all of the mappings.
    • :map lhs rhs registers a rule which interprets lhs to rhs. Its translation is recursive. About syntax of key stroke descriptor like <esc> within the lhs and rhs, see this page.
    • :map [noremap] lhs rhs additionally registers, however it’s non-recursive.
    • :map targets the traditional mode mappings. However,
      :map! targets the insert mode. That is equal to vim’s :imap.
    • For extra detailed info, see Syntax of map command.
  • j okay ^ $ strikes cursor by bodily row, alternatively,
    gj gk g^ g$ strikes by wrapped row. To swap the conduct: :set jkdenotative
  • f F t T extension for Japanese: these instructions acknowledges studying (ro-ma ji
    expression) of hiragana, katakana, and kanji. For instance, fk will place
    a cursor on ‘か’, ‘カ’, ‘漢’ and so forth.
  • f F t T extension for Latin script: these instructions acknowledges the bottom alphabet
    of diacritical marked letter. For instance, fa will place a cursor on
    ‘å’, ‘ä’, ‘à’, ‘â’, ‘ā’ and so forth. Additionally see mapping table.
  • use a on-line storage as file system:
    • :filesystem standing reveals all file methods presently out there.
    • :filesystem default reveals default file system. You may set default file system
      through :filesystem default dropbox or :filesystem default gdrive or :filesystem default onedrive.
    • :filesystem reset discards the entry token for on-line storage.
    • You may place the file system identify on the head of a file identify explicitly:
      for example, :learn dropbox:/whats up.txt.
  • While you learn from the register of A to Z, some registers returns particular content material:
    • B register: consumer agent string
    • D register: present date time string (formatted by utilizing datetime choice as template of strftime(3))
    • T register: title string
    • U register: URL string
    • W register: model string of wasavi
  • To return a setting to default state:
    • :set <option-name>& or :set <option-name>&default
  • To return all settings to default state:
    • :set all& or :set all&default
  • To return a setting to the state simply after analysis of exrc:
  • To return all settings to the state simply after analysis of exrc:
  • To submit a kind routinely after writing textual content and shutting wasavi:
    • :wqs
    • :submit (this may be shortened to :sub )
  • [count] operation [count] movement
  • [count] operation [count] range-symbol
  • [count] surround-operation [count] movement surround-string
  • [count] surround-operation [count] range-symbol surround-string
  • [count] de-surround-operation [count] surround-identifier
  • [count] re-surround-operation [count] surround-identifier surround-string
  • [count] operation-alias
  • [count] surround-operation-alias surround-string
  • [count] movement
  • [count] scroll-command
  • [count] edit-command
  • [count] : ex-command


c y d > < gq gu gU

Operation Aliases

cc yy dd >> << C Y D gqq guu gUU yss ySS

A counter will be inserted in entrance of the final 1 character.

Encompass Operations

  • to {surround}: ys yS
  • to take away a {surround}: ds
  • to vary a {surround}: cs


- + ^ <dwelling> $ <finish> % | , ;
_ / ? ' ` ( ) { } [[ ]] <enter> 0
j okay h l ^N ^P ^H
<down> <up> <left> <proper> <area>
w W b B e E gg gj gk g^ g$ G H M L f F t T n N

Vary symbols (Vim textual content objects)

  • a" a' a` a[ a] a{ a} aB a< a> a( a) ab aw aW ap as at
  • i" i' i` i[ i] i{ i} iB i< i> i( i) ib iw iW ip is it

Scroll instructions

^U ^D ^Y ^E ^B ^F <pageup> <pagedown> z<enter> z. zz z-

Edit instructions

x X <delete> p P J . u ^R ~ ^L ^G ga gv m @ q r R a A i I o O & s S v V ZZ gi ^A ^X

ex instructions

abbreviate cd chdir copy delete edit file filesystem international be part of okay map mark marks transfer choices print put pwd give up learn redo s & ~ set type submit registers to unabbreviate undo unmap model v write wq wqs xit yank > < @ *

The addressing in ex command is absolutely supported:

  • complete buffer: %s/re/rep/
  • present line: .p
  • the final line of buffer: $p
  • absolute line quantity: 1,2p
  • relative line quantity: +1,+2p
  • regal expression: /re/p ?re?p
  • mark referencing: 'a,'bp

Along with this wasavi additionally accepts offset, for instance: /re/+1p.
Two addresses are normally linked by a ,, wasavi additionally helps ;.

Enter mode instructions

  • ^@ enter essentially the most lately enter textual content, and exit enter mode. this key stroke is definitely Ctrl+Area.
  • ^D unshift. but when the final enter character is 0 or ^, delete all indentation
  • ^H delete a personality
  • ^R paste register’s content material
  • ^T shift
  • ^U delete all of the characters entered within the present enter session
  • ^V literal enter
  • ^W delete a phrase

Line enter mode instructions

  • ^A transfer cursor to high of line
  • ^B again
  • ^E transfer cursor to finish of line
  • ^F ahead
  • ^H delete a personality
  • ^N subsequent historical past
  • ^P earlier historical past
  • ^R paste register’s content material
  • ^U delete complete line
  • ^V literal enter
  • ^W delete a phrase
  • tab full ex command identify, set choice identify, file identify argument of learn/edit/write/file

Certain mode instructions

Certain mode is just like vim’s visible mode.

  • c delete the certain, and change to insert mode
  • d delete the certain
  • y yank the certain
  • < unshift the certain
  • > shift the certain
  • C delete the line-wise certain, and change to insert mode
  • S {surround} the certain
  • R identical as C
  • D delete the line-wise certain
  • X identical as D
  • Y yank the line-wise certain
  • g prefix instructions
  • a, i prefix vary symbols
  • ~ swap decrease case and higher case within the certain
  • : change to line enter mode
  • J be part of the certain
  • p delete the certain, and paste a register’s content material
  • P identical as p
  • r fill the certain up with inputted letter
  • s identical as c
  • u lower-ize the certain
  • U upper-ize the certain
  • v character smart certain mode
  • V line smart certain mode
  • x identical as d
  • ^A add the counter to all numeric strings throughout the certain
  • ^X subtract the counter to all numeric strings throughout the certain

Surrounding identifiers

  • quotations: considered one of !#$%&*+,-.:;=?@^_|~"'`
  • brackets: considered one of abBrt[]{}()

Surrounding string

  • quotations: considered one of !#$%&*+,-.:;=?@^_|~"'`
  • brackets: considered one of abBr[]{}()
  • tags: considered one of ^T ,<Tt

Vim options in wasavi

  • a number of stage undo/redo
  • incremental search
  • vary symbols (aka, Vim textual content objects)
  • following registers
    • " unnamed register
    • : final executed ex command
    • * studying from and writing to the system clipboard
    • / final searched string
    • = consider math expression. supported operators are: + - * / %. supported numeric expressions are: integer, float (together with exponential kind), binary (with main 0b), octal (with main 0), hex (with main 0x)
  • auto-reformat in enter mode, and reformat operator (gq command) on the state of textwidth > 0
  • certain mode (aka, Vim visible mode)
  • choices: iskeyword, incsearch, smartcase, undolevels, quoteescape, relativenumber, textwidth, expandtab, cursorline, cursorcolumn, nrformats
  • writing to the register of A to Z
  • gu / gU + movement: lowerize or upperize a area
  • partial performance of Surround.vim
  • partial performance of :type (regex sample, r and i choices)
  • ^A to extend a numeric string. ^X to lower a numeric string.

Source Link

What's Your Reaction?
In Love
Not Sure
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top