http://code.google.com/p/vimlike-smooziee/
前回のエントリーは、思ってもみないほど多くの人に見ていただけたようで驚きました。(といってもあくまでこのブログ基準です。)
やはりというべきか、ChromeでVimのように操作したいという需要は大きいんですね。
また変更を加えて、非常に快適な動作をするようになったので、公開してみます。
インストール
Vimlike_smooziee 0.0.2 (インストール)(ソース)
※削除しました。こちらから最新のものをインストールしてください。
Vimperatorの_smoooziee.jsというj、kキーのスクロールをスムーズにする僕の愛用プラグインがあるのですが、今回はその動作も組み込んで、かなり自分好みにパッケージしています。
もし従来の動作がいいという場合は、ソースのコメントアウトしてるところを使ってもらえばすぐに動かせると思います。
smoozieeの動作も、ソース上部のinterval(スクロールの速度)やmoment(スクロール幅)を調整して好みの動作にすることもできます。(本当は外部ファイルで設定できればいいと思うのですが、やり方がわからないので。)
※もし前回のVimlike-0.0.1を入れてもらった人がいたら、一度chrome://extensions/からuninstallしてもらったほうがいいかもしれません。次回もし公開する場合は、配布方法も調べてもう少しちゃんとしようと思ってます。Vimlikeという名前も、前回参照したソースの名前をそのまま使ってしまっているので、変えるかもしれません。
前回からの変更点
- j、kキーでスムーズスクロール。
- 「戻る」「進む」をz、xからH、Lに変更。
- ggでページトップへスクロール。Gでページ終わりへスクロール。
- giで最初のテキストボックスにフォーカス。Escでフォーカスを解除。
- テキストボックス内で、C-a、C-e、C-f、C-bでそれぞれ先頭、末尾、1つ進む、1つ戻る
C-aは、先頭に移動したあとで再度C-aを押すと、テキストの全選択となります。
そのほかrでリロード、dでタブを閉じる動作は変わりありません。
今後ほしい機能
- Hit-a-Hint
- uで閉じたタブを復活
- アドレスバーで入力補完の際、カーソルキーではなくTabキーで選択したい(できる?)
- C-pで前の(左の)タブに移動、C-nで次の(右の)タブに移動
- ziでフォント拡大、zoでフォント縮小
などなど。
特に1はキーボード操作で完結するためには必須で、これがないとはじまらないというくらいのもの。下記の参考サイトでも書かれているようなので、早めに組み込みたいです。
4のC-p、C-nはもともと、それぞれ印刷と新しいウィンドウを開く機能が割り当てられてるのですが、みんな使ってるんですかね。自分はあまり使っていないので上書きしてしまおうかなと。
参考にしたサイト
前回Extensionの作り方で参考にしたブログ筆者の記事。すごくわかりやすい。
先取り! Google Chrome Extensions(第2回 Chrome Extensionsの作り方#1)
キーイベントをとる部分は、以下を参考にさせて(使わせて)いただきました。
はじめてのGoogle Chrome拡張、オレオレChromeKeyconfig
SafariとChromeではkeyIdentifierが使えるので素晴らしすぎます
おかげでChromeが快適でメインブラウザになる日も近いんじゃないかというくらいです。ありがとうございます。
最初の技評の記事で紹介されていた本家ドキュメント。あとでゆっくり読まないと。
Google Chrome Extensions: Developer Documentation
このChrome拡張のために必要にせまられてjavascriptをさわっていますが、どうもJavascriptは苦手というかよくわからないです。一度じっくり腰をすえて勉強しないといけないなあ。