Edited at

vimperatorの代替としてcVim入れてみた

More than 1 year has passed since last update.

いつのまにか新たに、chrome対応のvimpっぽいプラグインがでてた。

vimiumがしっくり来なかったけどこれはすごい。

cVim - Chrome ウェブストア


コマンドモード

キャプチャはvivaldiだけどこんなかんじ

:buffer もある

cvim buffer


設定画面

vimpっぽく設定もかけるみたいだ。

試してないけど、別途 .cvimrc とか読み込めるみたい。

cvim config


.cvimrc

やる気が出たのでコンフィグ書いた。

jsでfunction書いてmapに登録できるっぽかったので、bitlyAPI叩いてyankするやつかいた。

access_tokenは適当に自分で発行してください:bow:

ってか title 取りたいんだけどて悩んだので、マニュアル見たけど見当たらんかった。

まあ、ソース読んでたらわかったけど。


.cvimrc

" Settings

" set noautofocus
set typelinkhints
let searchlimit = 30
let scrollstep = 70
let fullpagescrollpercent = 100
let barposition = "bottom"
let locale = "jp"
let mapleader = ","
let hintcharacters = "qwertyuiasdfghjklzxcvbnm"

" Search
command g tabnew google
let completionengines = ["google", "amazon"]
let searchalias g = "google"
let qmark t = ["http://twitter.com"]
let qmark m = ["https://inbox.google.com/u/0/?cid=imp"]
let qmark c = ["https://www.google.com/calendar"]
let qmark i = ["http://www.inoreader.com/folder/Must%20Read"]

" Ignore Site
let blacklists = ["https://inbox.google.com/*"]

" Mapping
map h previousTab
map l nextTab
map b :buffer<Space>
map B :bookmarks<Space>
map d closeTab
map u lastClosedTab
map <M-i> goToInput
map @ pinTab
map <C-h> moveTabLeft
map <C-l> moveTabRight
map <M-r> reloadTabUncached

iunmapAll

" yank '%title% - %url%'
copyTitleUrl() -> {{
RUNTIME('getRootUrl', function(url) {
let ret = document.title + " - " + url;
Clipboard.copy(ret);
Status.setMessage(ret, 2);
});
}}
map yt :call copyTitleUrl<CR>

" accessTokenは自分で発行して入れてね
" yank '%title% - %bitly%'
copyTitleBitly() -> {{
RUNTIME('getRootUrl', function(url) {
const bitlyToken = 'pleaseSetAccessToken!!!!!111';
httpRequest(
{url: `https://api-ssl.bitly.com/v3/shorten?access_token=${bitlyToken}&format=json&longUrl=${url}`, json: true},
function(res) {
let ret = document.title + " - " + res.data.url;
Clipboard.copy(ret);
Status.setMessage(ret, 2);
});
});
}}
map yb :call copyTitleBitly<CR>