VIM」カテゴリーアーカイブ

Vichromeの使いづらいところ

Google Chromeでvimpの代わりととして一番使えるVichromeですが、
使っていて気になる点があるので列挙してみた。

1.タブオープンの挙動が不安定
「t」を押してgoogleで検索出来るが、webページ内でフレームが挿入されているとフレームの方で入力欄が表示される。
そのため、入力欄が表示される場所がまちまちだったり、フレームの枠が小さいなど安定しない。

2.キーが受け付けられないことが多い
何を押しても反応しなくなることが多々ある。
恐らく、ページ読み込み中にキー入力をしていたり、ページが読み込まれる時に一緒にVichromeも読み込まれているっぽいけど、
その時に中途半端に読み込まれないことがあるっぽい。

3.addonや設定画面、ホーム画面でVichromeが動かない
当然といえば当然だが、地味に不便。

1と2が頻発するので、非常にストレスがたまる。
chromeの制限で恐らくグローバルにキーフックするのが作れないのかな。
ブラウザ自体はFirefoxよりGoogle Chromeの方が使いやすいだけに残念。

Happy Hacking Keyboard pro2 US配列を買った時にした設定

HHK pro2 US配列を買ったので自分用にカスタマイズメモ

・基本方針
HHKの特殊配列はそのまま利用する(HHK以上の環境依存はやめる)

・Google日本語入力
「Shift + Space」でIME OFF
「Shift + Ctrl + Space」でIME ON

・キーボード側の設定
1,3,4をONにする

やっぱりキー移動がFN + ;'[/だと難しいけど、
自分がよく使うソフトはだいたいVIMキーバインドされているので頑張って慣れようと思う。

Vichromeの設定

### Sample Settings

# aliases
# in this example you can open extensions page by the command ':ext'
# and Chrome's option page by the command ':option'
alias ext TabOpenNew chrome://extensions/
alias option TabOpenNew chrome://settings/browser
alias downloads TabOpenNew chrome://downloads
alias history TabOpenNew chrome://history

# mappings for opening your favorite web page
# nmap <Space>tw :TabOpenNew http://www.twitter.com
# nmap <Space>gr :TabOpenNew http://www.google.com/reader
# nmap <Space>m  :TabOpenNew https://mail.google.com/mail/#inbox

# F for continuous f-Mode
# this is recomended setting but commented out by default.
# if you want to use this setting, use the following
#nmap F :GoFMode --newtab --continuous

# you can use <DISCARD> to discard the key so that chrome's default
# action isn't triggered.
#nmap <BS> <DISCARD>
nmap t S
nmap gi i
nmap i <C-h>
nmap I <C-l>
nmap d X
nmap e F
nmap <C-w> :tabs
nmap h H
nmap H L
nmap b B

# if you want to change the key used to escape EmergencyMode mode,
# use emap like the following
#emap <ESC> :Escape

## pagecmd offers you page specific key mapping.
# in this example you can use <C-l>, <C-h> for moving between tabs
# on all web pages regardless of your ignored list setting
# because pagecmd has higher priority than ignored URLs.
pagecmd * nmap <C-l> :TabFocusNext
pagecmd * nmap <C-h> :TabFocusPrev

# almost all Vichrome functions don't work properly for pdf contents
# so it's useful to enable default key bindings for pdf file.
pagecmd *.pdf nmap <C-f> <NOP>

# if you want to use twitter web's key binding, write settings like below
#pagecmd http*://twitter.com/* nmap f <NOP>
#pagecmd http*://twitter.com/* nmap r <NOP>

vimp設定メモ

[path]を変える

"------------------------------------------------------------------------
"------------------------------------------------------------------------

"2.3.1 (created: 2010/04/07 18:56:53)

"set runtimepath=[path]/.vimperator
set runtimepath=[path]/.vimperator

" vim: set ft=vimperator:
"vim: set fdm=marker sw=4 ts=4 et fenc=utf-8:

"------------------------------------------------------------------------
"------------------------------------------------------------------------

"はてぶ
javascript if (typeof hBookmark != 'undefined') liberator.loadScript('chrome://hatenabookmark/content/vimperator/plugin/hatenabookmark.js', {__proto__: this});


"KeyMapping

"------------------------------------------------------------------------
" mapname	normal	visual	???	insert	commandline
" noremap	o	o	o	x	x
" noremap!	x	x	x	o	o
" nnoremap	o	x	x	x	x
" vnoremap	x	o	x	x	x
" onoremap	x	x	o	x	x
" inoremap	x	x	x	o	x
" cnoremap	x	x	x	x	o
"------------------------------------------------------------------------

" _smooziee を利用してスクロール
let g:smooziee_scroll_amount="250"

nnoremap J <C-d>
nnoremap K <C-u>

"タブ削除移動
nnoremap d D
nnoremap D d


" iでタブ移動
nnoremap i <C-p>
nnoremap I <C-n>

"新規タブで開く
nnoremap e F

"進む 戻る
nnoremap h H
nnoremap H L

" migemo-hint.js
"set hintmatching=custom

"閉じたタブ履歴から補完
noremap ,u :undo

"google suggest
set complete=bS

"BackSpaceで戻るを無効化
map <BS> <Nop>

"Google検索
map ,g :open<space>google<space>
map ,G :tabopen<space>google<space>

"ヴィジュアルモードで選択した文字列を新しいタブでGoogle検索
vmap <silent> G y<Esc><Esc>:os<space>google<space><M-v>

"⇧shift+;でテキストズーム無効化
map <S-;> <Nop>

"ソースを表示するキーを無効化
map gf <Nop>

"ヴィジュアルモードでもカーソル上下移動をj,kで
vnoremap j <Down>
vnoremap k <Up>

"------------------------------------------------------------------------

"qmarks

"gom,gorのようにgoに続けて入力・新規タブで開くにはgn
"vimperatorから追加するコマンドは:delqmarks + 文字

"qmarks追加キーMを無効化
noremap M <Nop>



"------------------------------------------------------------------------
"------------------------------------------------------------------------


"Firefox config

"ブラウザタイトル
set titlestring="Mozilla Firefox 3"

"ダウンロード履歴をFirefox終了時に削除
set! browser.download.manager.retention=1

"キャッシュをHDDからRAMに
set! browser.cache.disk.enable=false
set! browser.cache.memory.enable=true
" 単位(KB)
set! browser.cache.memory.capacity=-1

"アドオンインストール時の待ち時間カット
set! security.dialog_enable_delay=0

"ページのアクセスキー無効化
set! ui.key.generalAccessKey=0

"JavaScriptでのウィンドウ移動・リサイズ拒否
set! dom.disable_window_move_resize=true

"JavaScriptのステータスバー操作を無効化
set! dom.event.contextmenu.enabled=false


"------------------------------------------------------------------------
"------------------------------------------------------------------------


"Global Options

"メニュー・ツールバー表示
"m menubar
"T toolbar
"b bookmark bar
set guioptions=rb


"補完設定
"入力に対し自動で補完候補表示
set wildoptions=auto

"sで検索プラグインリスト補完+プラグイン自体の補完機能・SはGoogle
"lで履歴やブックマークからの補完
"tで開いているタブから補完
"http://d.hatena.ne.jp/blooo/20100122/1264133472
set complete=l

"ブックマーク・検索プラグインから開く
"http://memo.officebrook.net/20090325.html
com! -complete=bookmark -nargs=+ ob :t <args>
com! -complete=search -nargs=+ os :t <args>
map ,b :ob<space>
map ,s :os<space>

"検索語句を強調表示
set hlsearch

"ビープ音無効・ビジュアルレベル使用
set visualbell
hi Bell opacity: .5;

"検索で大文字小文字を無視
set ignorecase

"自動入力欄フォーカスを無効化
set focuscontent

"リンクURLをステータスラインに表示
set showstatuslinks=1

".vimperatorrc読み終わりのメッセージ
echo "vimperator: Welcome back"

"エディタにMacVim-KaoriYaを指定(mvimシェルスクリプトを指定する)
"set editor='~/bin/mvim -f'

"------------------------------------------------------------------------
"------------------------------------------------------------------------


"アピアランス

"カラースキーム
colorscheme sweets_dita

"キャレットの表示スタイル
set! ui.caretWidth=8

"ヒントのスタイル指定
highlight Hint z-index:5000; font-family:monospace; font-size:15px; color:white; background-color:blue; border-color:ButtonShadow; border-width:0px; border-style:solid; padding:0px 1px 0px 1px; position:absolute;

"リンクの色 (set linkbgcolor=aqua)
highlight HintElem background-color:aqua;

"アクティブなリンクの色 (set activelinkbgcolor=lightblue)
highlight HintActive background:lightblue;


"------------------------------------------------------------------------
"------------------------------------------------------------------------


"任意サイト設定

"GoogleReader/LivedoorReaderで新規タブをバックグラウンドで開く
autocmd LocationChange ^(?!https?://(www\.google\.(com|co\.jp)/reader/view|reader\.livedoor\.com)) :set! browser.tabs.loadDivertedInBackground=false
autocmd LocationChange ^https?://(www\.google\.(com|co\.jp)/reader/view|reader\.livedoor\.com) :set! browser.tabs.loadDivertedInBackground=true

"Gmailで新規タブをバックグラウンドで開く
autocmd LocationChange ^(https://mail\.google\.com/mail) :set! browser.tabs.loadDivertedInBackground=false
autocmd LocationChange ^https://mail\.google\.com/mail :set! browser.tabs.loadDivertedInBackground=true


"------------------------------------------------------------------------
"------------------------------------------------------------------------

""plugins""

"------------------------------------------------------------------------

"char-hints-mod2.js

"ヒントモードのアルファベットは大文字で表示, キー入力は小文字で
let g:hintsio="iO"
let g:hintchars="HJKLASDFGYUIOPQWERTNMZXCVB"

"------------------------------------------------------------------------


"copy.js+twittperator.js

"表示しているページのタイトルとURLをツイート
"map TW ,y<cr>:tw<space><M-v>

"------------------------------------------------------------------------
"------------------------------------------------------------------------


vimp使いがGoogle Chromeに移行しようとして断念したところ

chromeに乗り換えるには少しまだ時間が必要かも

chromeのよかったところ!

・スクロールを最上部、最下部にしたときにsafariみたいにページが少し移動してブラウザ背景が見れるところ
地味だけどあると結構うれしい

・タブ同期とか環境がgoogleアカウントに統一されて楽なところ
FireFoxでも出来るけど、アドオンの設定まで同期されなかったりパスワード忘れたり使いづらいイメージ
グーグルアカウント覚えてればメールからカレンダーまで全て環境が揃うのは楽だった

・ページを表示するのが早い!
早く感じる。

・プロセスが別
画面単位でクラッシュしてくれるのはありがたい

・シンプル!

chromeにあるとよかったところ

・vichrome のキーバインドが全画面で利かない
たぶんchromeの仕様なんだろうけど、設定画面とかnew tabページとか、一部きかないページがある。
cmd + w で消せるのと差があるのはちょっと使いづらい。

・タブが横に配置できない(縦リスト表示)
タブを開き過ぎないようにするための対策として実装するつもりがないらしい。
iPhoneとか他の端末とタブ同期を考えたら開きすぎるのはよくないんだけど、
FireFoxでは常時50タブぐらい開いていたから全部横に並ぶと何が何だかわからなくなってしまう。

でももしかしたら、ここは慣れかもしれない。

・起動時にタブの遅延読み込み
もしかしたらあるのかもしれないけど、見つからなかった。
chrome起動時に前画面の復元を設定していて、全画面を読み込みにいってしまう。
active時に読み込んでほしいなあ

・三本指で上下スワイプ時に画面上下に移動しない(Magic Trackpad)
設定しているんだけど、なぜかchromeだけ

いれたextension

・AdBlock
・AutoPager Chrome
・Google Mail Checker
・Pocket (formerly Read It Later)
・Vichrome

何かおすすめがあれば教えてください