wasavi – appsweets akahuku labs.
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
-
Vim’s 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.
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
Vimperator
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.
Keysnail
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.
VimFx
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.
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 stringD
register: present date time string (formatted by utilizingdatetime
choice as template of strftime(3))T
register: title stringU
register: URL stringW
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
Operations
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
Motions
-
+
^
<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 definitelyCtrl+Area
.^D
unshift. but when the final enter character is0
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 phrasetab
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 moded
delete the certainy
yank the certain<
unshift the certain>
shift the certainC
delete the line-wise certain, and change to insert modeS
{surround} the certainR
identical asC
D
delete the line-wise certainX
identical asD
Y
yank the line-wise certaing
prefix instructionsa
,i
prefix vary symbols~
swap decrease case and higher case within the certain:
change to line enter modeJ
be part of the certainp
delete the certain, and paste a register’s content materialP
identical asp
r
fill the certain up with inputted letters
identical asc
u
lower-ize the certainU
upper-ize the certainv
character smart certain modeV
line smart certain modex
identical asd
^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 main0b
), octal (with main 0), hex (with main0x
)
- 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
andi
choices) ^A
to extend a numeric string.^X
to lower a numeric string.