以前の環境
Firefox
+ Vimperator
をずっと愛用していた.自分が欲しいと思った機能が実現できていた.Firefoxのupdate毎に動かない関数が出てきてはいたが,それを応急処置で治していた(大概,errorとversoinで検索すれば同じ症状の人と解決策が見つかった).
しかし,Firefox Quantum (v57)にupdateしてからWeb Extentionsベースの拡張機能以外が動かなくなり,当然Vimperatorも死んだ.開発陣も対応をしているようだが,こればかりはすぐに解決するものではないと考えて,新しい環境に移行した.
Vivaldi + cVim
この環境を選択した理由は以下の通りである.
- 以前からWebパネルが非常に便利で
Vivaldi
も使用していた. cVim
に似たような拡張機能の中でも一番拡張性が高く,javascriptが実行できる.Vimperator
が.vimperatorrc
で設定をテキストベースで管理できたのと同様に,cVim
は.cvimrc
で管理できる事も魅力的だった.
ローカルファイルから設定を読み込む時に,
cvim error: "file:///yourpath/.cvimrc" could not be opened for parsing command.js:719
が発生し,これを解決するのに的外れな事をしていた.同じ事が起こった人は勿論いて(here),Chromeでいう--allow-file-access-from-files
のようなオプションをつけるのは,Vivaldiではどうするのかを調べていた.
解決策は非常に簡単で,cVim settingsやVivaldiのオプションをいじるのではなく,vivaldi://extensions
からOnにするだけであった.
- 設定ファイルはgistからも読み込める(URLを入れるだけ)
- 簡単に欲しい機能を書いて,取り敢えず満足する形になった
completionengines
が非常に感じる (以前の環境ではこういう設定はしていなかった)- でもやはり
Vimperator
の豊富なpluginが羨ましい
set noautofocus
set nosmoothscroll
set nativelinkorder
set showtabindices
set completeonopen
let locale = "jp"
let mapleader = ","
let completionengines = ["google", "amazonjp"]
let searchengine amazonjp = "https://www.amazon.co.jp/s/&field-keywords=%s"
let searchalias g = "google"
let searchalias a = "amazonjp"
let barposition = "bottom"
let hintcharacters = "asdfghjklqwertyuiop"
map ; :
unmap a
map <Leader>g :tabnew<Space>google<Space>
map <Leader>a :tabnew<Space>amazonjp<Space>
unmap x
unmap d
map d closeTab
unmap u
map u lastClosedTab
map <C-f> scrollPageDown
map <C-b> scrollPageUp
unmap t
map t :tabnew<Space>
map <Leader>f createTabbedHint
map <Leader>h createHoverHint
map <Leader>H createUnHoverHint
map <C-j> nextTab
map <C-k> previousTab
map <Leader>b :bookmark<Space>
map <Leader>r reloadTabUncached
map <Leader>x :restore<Space>
unmap p
unmap X
unmap b
map <C-g> :execute <Esc>
imap jj :execute <Esc>
imap <C-a> selectAll
imap <C-f> forwardWord
imap <C-b> backwardWord
imap <C-w> deleteWord
imap <C-d> deleteForwardWord
imap <C-h> deleteChar
iunmap <C-p>
iunmap <C-k>