cVim カスタマイズ

15-10-23Pccvim, extensions, key-bind, tips

cVimは、Vimぽい操作で動かせる、Google Chrome拡張機能です。
前は、Vichromeをカスタマイズして使っていました。一部機能が使えないので前に乗り換えましたが、Migemoは便利でしたので惜しいです。
機能は色々と多いですが、類似のVimiumも機能が増えてきているので、好きな方でいいのかも。
設定も一段落したので、メモ代わりに置いておきます。

  • Windows10 64bit
  • Magic Keyboard – US
  • cVim 1.2.99

機能

1995eaton/chromium-vim · GitHub
説明が英語なんですが、ブラウザの翻訳機能などで何とか頑張って読んで下さい。他よりも機能は多いので色々とできます。
基本的な機能は他のVim系と似ていますので、基本的な操作についてはそこまで難しくはないと思います。

キーボードだけで文字選択する、Visual/Caret Modeは、マウスの方が速いので使わなくていいかなと思います。

ヘルプページは、:押して、helpと入力してEnterで移動できます。
また、設定のページは、:押して、settingsと入力してEnterで移動できます。

微妙な点

  • 他のVim系に比べて少し重め
  • zrでブラウザ再起動が動かない

少し重い時があるので、古いPCだと厳しい時があるかも。
最近のPCなら問題無いと思いますが、表示したサイト自体が重い時はどうしようもないですね。

再起動が動かないのは、ブラウザ側の問題らしいという書き込みを見た気がするので、今のところは無理っぽい。

海外用の検索エンジンを変更する

デフォルトだと海外用で検索されてしまうので、cVimrcで、設定を変える必要があります。
cVimrcの設定を変更したらSave。適用されていなかったときはブラウザ再起動して下さい。
googleなら、自動でリダイレクトするので設定しなくても大丈夫なはずです。

1.地域の変更

2.登録されている検索エンジンを外す為に、googleだけを有効にして、google.co.jpをデフォルト検索に
google.co.jpは設定しなくても、1でjp指定していれば大丈夫みたいです。

3.検索エンジンを登録する

4.検索が簡単に出来るようにsearchaliasに登録

これで、otを押すと、コマンドバーが表示されるので、amazonで検索したいなら、a 半角スペース 検索文字 Enterで検索できます。
oが同じタブで検索。tが新規タブで検索。
googleはデフォルト検索にしたので、otの後に検索文字 Enterで検索できます。また、aでも新規タブで検索ができます。

ちなみに、コマンドバーの位置は、barpositionで変えられます。

前は、searchaliasに、amazon、wikipediaで登録できたのですが、今は英語版が表示されてしまったり、動作が上手くいかないことがあるので、他の名称で登録します。

C-nで選択出来るようにする

今のところ、ブラウザのキーボードショートカットが優先されてしまい動きません。
C-pは問題ないです。
Tabで代用はできます。S-Tabで逆移動になります。

コマンドバーで選択する時に使えると便利です。
ブラウザのキーボードショートカットが優先されるので、変更します。

1.設定を追加

2.chrome://extensionsへ移動
3.左上の拡張機能メニュー左の三本線 > キーボードショートカットをクリック
4.cVimの、Let Chrome use for cncpcompletion settingの項目で、Ctrl-Nに設定する

他にも変更出来る項目があるので、変更したい場合は変更して下さい。

サイトを開いた時のフォーカスを無効にする

cVimの機能を使おうとしたら、検索バーに文字入力していたというようなことが防げます。

Hit a Hintの表示文字

fなどを押した後に左手だけで押せるようにしていて、右手でマウスを併用する時に便利です。

f 現在のタブでリンクを開く。F 新しいタブでリンクを開く。
W 新しいウィンドウでリンクを開く。mf 複数のリンクを開く。

今は

にして両手で押しています。

QuickMarks

上記設定後、gosで現在のタブで設定したURLを開きます。

gns 新しいタブで設定したURLを開く。
gws 新しいウィンドウで開く。

ブラウザのブックマークみたいなもので、すぐに移動できるので、よく使うサイトを登録しておくと便利です。

execute

上記設定後、マウスで文字選択した後にC-g押すと、新しいタブで、選択した文字の検索結果やURLが開けます。

v Visual/Caret Mode 切り替え。
y 現在の選択をコピー。
P 新しいタブで選択したテキストを開く。

連続で実行出来るので、色々と応用が効きそうだと思います。

iunmapAll

入力欄でvimっぽい操作ができますが、使わないので無効にしています。

Site-specific Configuration

サイトの特定のキーボードショートカットを優先して、cVimのキーを無効化する設定。

passkeys cVimをパスして、サイトにキーを渡す。
unmap cVimでキーを無効化する。

前に、feedlyなどのサイトの設定で、ggなどの除外が効かないと記載しましたが、色々と試したら、少なくともfeedlyでは無効化出来ました。すみません。
unmapで無理な場合は、passkeysを試してみて下さい。

サイトとcVimのどちらのキーを優先させるのか、結構悩みますね。

numerichints

数字でHit a Hint出来るようになります。
Hit a Hintのキーよりもサイトのキーが優先されるサイトもあるので、そういうサイトでは設定するといいです。

cVimをサイトで無効化

サイトを追加すると無効化できます。
cVimの機能が不要で、サイトのキーボードショートカットを優先したいときにどうぞ。

insertMode

一時的にcVimを無効化したいときは、iを押すと一時的に無効化できます。
再び有効化するときは、Escで解除できます。

script

vimperatorの代替としてcVim入れてみた – Qiita
ページタイトルとURLをコピーするスクリプトが書いてあったので、参考になります。
スクリプトが書ける方ならば、色々出来そうですね。

cVim – SanRin舎
参考になるリンクが沢山あるので助かります。

他の変更部分の補足

ファイラのPaper Plane xUIを使っていて、両方で出来るだけ同じキーバインドにして押しやすくしているので、結構変えています。
他には、よく使う検索エンジンやサイト登録の一部を載せています。
後は、スクロール量を変えていたり、キーボードのキー配置の関係で、:;を入れ替えています。

設定ファイル

追記

15-12-16

  • 間違えていた部分を修正
  • TOPSYから、Yahoo!リアルタイム検索へ変更

16-01-08

  • cVim 1.2.80 > cVim 1.2.81へ変更
  • Hit a Hint、QuickMarks、executeの説明を追加
  • smoothscrollがデフォルトで無効になったので有効へ
  • executeを追加

16-06-12

  • PC環境変更
    • Windows7 64bit > Windows10 64bitへ変更
    • Apple Wireless Keyboard (US) > Magic Keyboard – USへ変更
  • cVim 1.2.81 > cVim 1.2.84へ変更
  • cVim 1.2.82でunmapを纏めて書けるようになったので変更。前のバージョンでは動きません
  • 海外用の検索エンジンを変更しても、英語版が表示されていたので変更
  • 検索エンジンにSocial Bearingを追加
  • qmarkを一部削除。追加

17-11-14

  • cVim 1.2.98へ変更
  • scriptの説明を追加
  • searchengineで設定した後にsearchaliasを書くように変更
  • 検索エンジンなどを一部修正、追加、削除

18-01-23

  • cVim 1.2.99へ変更
  • Hit a Hintの表示文字へ追加
  • qmarkを一部修正、追加
  • Site-specific Configurationを修正、追加

18-02-17

  • C-nで選択出来るようにするで、C-nが動かない説明を追加
  • Site-specific Configurationの説明を追加し、関連する説明を修正
    • feedlyを追加
  • cVimをサイトで無効化の説明を追加
  • 追記に新記事、cVimでフォントやサイズなどを変更へリンク追加

18-03-04

  • iunmapAllの説明を追加
  • scriptの説明にリンク追加
  • qmarkを一部修正、追加
  • scriptを修正、追加
    • サイトタイトルコピーを追加
    • HTML形式でリンクコピーを追加
    • Markdown形式でリンクコピーを追加

18-04-12

  • scriptを修正
    • HTML形式のリンクコピーで、&などと記載するところを変換していたので修正

180504

  • qmarkを一部削除、追加
  • C- j/k : 5回分の j/k 追加
  • ;<*>create markが使えないため、;:の入れ替えを削除
  • unmapにu追加