Home > IT | 雑記 > Vimperatorの設定が良い感じになってきたので晒してみる

Vimperatorの設定が良い感じになってきたので晒してみる

数日前からVimperatorを弄くってます。

ようやく形になってきたので、vimperatorrcなどを公開しますね。

まず最初に、入れるべきアドオンから。

まぁこの二つは無いと始まらないので説明は省きますが、stableである1.1よりは1.2preの方がどうやら良さげです。

Bookmarks UI ConsolidatorはブックマークツールバーにAlt+Bでアクセスできるブックマークメニューを追加する拡張です。
どうもブックマークへのアクセスがVimperatorだと苦手だと感じたので、入れてみました。

よく使うサイトなら、:t ldrとか入力してからtab押して開いてますけどね。

あと、ツリー型タブは超おすすめ。画面が広く使え、しかもタブも大量に開いても状況を把握しやすいです。

次に、Vimperatorプラグイン。

最初はldrize_cooperation.jsとかautoIgnoreKey.jsも入れてたんですが、サイトを開いたときの初期状態はlivedoor readerとGmailを除きVimperatorに準拠しよう、というポリシーを決め、それらプラグインは外しました。

その他、設定上の注意点など。

  • All-in-One Sidebarはブックマークサイドバーがキーボードで使いづらいのでアンインストールした
  • FireGesturesの「ロッカージェスチャー」はクイックリンクが効かなくなるので、その機能だけ切ること(アンインストールはしなくてもOK)
  • vimperatorrcでset showtabline=0を設定すると、ツリー型タブが表示されなくなるので注意
  • デフォルトの状態だとステータスバーが黒で、乗っかってるアドオンのアイコンなどが見づらいので、userChrome.cssも変更すること

以上の設定により、こんな感じになりました。超スッキリ!

あと最後に一点お詫びです。

下記設定ファイルを作成するにあたり多くのサイトを参考にさせていただきました。
しかし、あちこちコピペしているうちにコピペ元が分からなくなってしまいました。
ゴメンナサイ!


設定をちょこっと弄くりました。
コメントで教えて貰った設定の追加と、direct_hb.jsプラグインの追加、あとlivedoor readerでgとoのキーがスルーされるようにしました。
(gは本文取得のためのLDR Full FeedってGreasemonkeyスクリプトで使ってます)

以下コピペすると意図しない文字に置き換わったりするので、オリジナルのファイルも置いておきます。
_vimperatorrc

_vimperatorrc

" 1.2pre (created: 2008/07/04 07:30:07)
" by fifnel

"------------------------------------------------------------------------------
" 必要なFirefoxアドオン
"  Vimperator 1.2pre
"  Vimperator日本語ヘルプ1.0
"  Bookmarks UI Consolidator
"  ツリー型タブ

"------------------------------------------------------------------------------
" 必要なVimperatorプラグイン
"  copy.js
"  feedSomeKeys.js
"  hatenabookmark_show.js
"  ime_controller.js
"  migemo_hint.js
"  googlesuggest.js
"  direct_hb.js

"------------------------------------------------------------------------------
" その他注意点
" ・All-in-One Sidebarはブックマークサイドバーがキーボードで使いづらいので入れない
" ・FireGesturesの「ロッカージェスチャー」はクイックリンクが効かなくなるので、その機能だけ切ること
" ・set showtabline=0を設定すると、ツリー型タブが表示されなくなるので注意

"------------------------------------------------------------------------------
" Mappings

" j/kの移動量を6倍に
map j 6<C-e>
map k 6<C-y>

" Sleipnir風タブ移動
map <F3> gt
map <F2> gT

" キースルーをちょっとでも楽に
map q <C-q>

" Firefoxオリジナルのキーバインド
map <C-w> d
map <BS> H
noremap <C-b> :normal! C-b<CR>

" Alt+↑/↓でメニューの表示/非表示
map <A-Down> :set guioptions+=mT<CR>
map <A-Up> :set guioptions-=mT<CR>

" . でタブリストを表示/非表示
map . :ls!<CR>

" はてぶコメント表示(hatenabookmark_show.js)
map b :hbinfo<CR>

" <S-b>ではてブ(direct_hb.js)
noremap B :hb<space>

" googleサジェスト検索(googlesuggest.js)
map s :google<Space>

" <C-S-c>でタイトルとURLをコピー(copy.js)
map <C-C> :copy titleAndURL<CR>

" cでURLだけをコピー(copy.js)
map c :copy URL<CR>

"------------------------------------------------------------------------------
" Options

" ツールバーとかの表示関係
set guioptions+=b

" クイックリンクのフォントサイズ
set hintstyle += font-size:16px;

" ビープもベルもウザいので消す
set visualbell
set visualbellstyle=display:none;

" INSERTモードとTEXTEREAモードで<C-i> を押した時のエディタ
"set editor=C:\Tools\Vim\vim71\gvim.exe -f
set editor=C:\Tools\xyzzy\xyzzy.exe
" set editor=C:\Program Files\sakura\sakura.exe

" ブラウザタイトルの変更
set titlestring=Firefox

" migemo_hint.js
set hintmatching=custom

" その他
set history=1000
set verbose=9
set wildoptions=auto
set complete=l

"------------------------------------------------------------------------------
" Abbreviations

" ime_controller.js
let g:ex_ime_mode = "inactive"
let g:textarea_ime_mode = "inactive" 

" copy.js
javascript <<EOM
liberator.globalVariables.copy_templates = [
   { label: 'titleAndURL',    value: '%TITLE% %URL%' },
   { label: 'URL',            value: '%URL%' },
   { label: 'title',          value: '%TITLE%' },
   { label: 'hatena',         value: '[%URL%:title=%TITLE%]' },
   { label: 'hatenacite',     value: '>%URL%:title=%TITLE%>\n%SEL%\n<<' },
   { label: 'markdown',       value: '[%SEL%](%URL% "%TITLE%")' },
   { label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' }
];
EOM

" feedSomeKeys.js(Gmail)
autocmd LocationChange .* :fmapc
js <<EOF
autocommands.add('LocationChange',/mail\.google\.com\/(mail|a)\//,[
  'js plugins.feedKey.setup(',
  '"c / y j k n p o u e x s r a # [ ] z ? gi gs gt gd ga gc".split(/ +/).map(function(i) [i, "4" + i])',
  ');'
].join(''));
EOF

" feedSomeKeys.js(livedoor reader)
js <<EOF
autocommands.add('LocationChange',/reader\.livedoor\.com\/reader\//,
  'js plugins.feedKey.setup("j k s ? r a p v c <Space> <S-Space> z Z < > q w b i o g".split(/ +/));');
EOF
autocmd LocationChange http://reader\.livedoor\.com/reader/ :fmap J <Space>
autocmd LocationChange http://reader\.livedoor\.com/reader/ :fmap K <S-Space>

" Add Mapping `C-c' copy or stop loading
javascript <<EOM
liberator.mappings.addUserMap([liberator.modes.NORMAL], ['<C-c>'],
    'Copy selected text or ',
        function () {
                var sel = liberator.buffer.getCurrentWord();
                if (sel) {
                        liberator.copyToClipboard(sel, true);
                        echo('Yanked: ' + liberator.util.escapeHTML(sel) );
                } else {
                        BrowserStop();
                        liberator.echo('Stopped loading !');
                }
        } , {}
);
EOM

" ステータスバーにfeedボタンを表示
" http://d.hatena.ne.jp/teramako/20071205/p1
js <<EOM
(function(){
 var feedPanel = document.createElement('statusbarpanel');
 var feedButton = document.getElementById('feed-button');
 feedPanel.setAttribute('id','feed-panel-clone');
 feedPanel.appendChild(feedButton.cloneNode(true));
 feedButton.parentNode.removeChild(feedButton);
 document.getElementById('status-bar').insertBefore(feedPanel,document.getElementById('security-button'));
})();
EOM

source! ~/_vimperatorrc.local

" vim: set ft=vimperator:

userChrome.css

/* bufferwindow style */
#liberator-container{
    color: blue !important; /* 指定しないとbufferwindowでcolorが利かない */
}
#liberator-bufferwindow, #liberator-completion, #liberator-previewwindow {
    color: blue !important;
    background-color: #eee !important;
}

/* commandline style */
#liberator-commandline{
    /*font-family:"Luxi Mono", monospace !important; // <-- フォントを指定するなら  */
    background-color: #222 !important;
    color: #fff !important;
    font-weight: normal !important;
    font-size: 10pt !important;
}

/* statusline style */
#liberator-statusline {
    /*font-family:"Luxi Mono", monospace !important; // <-- フォントを指定するなら  */
    font-weight: normal !important;
    font-size: 10pt !important;
    padding:3px 0 !important;
}

/* normal page statusline */
.hl-StatusLine {
     background-color: #ddd !important;
     color: #222 !important;
}

/* secure(ssl) page statusline */
.hl-StatusLineSecure {
     background-color: #B0FF00 !important; /* light green */
     color: black !important;
}

/* for ls command */
#liberator-multiline-output {
    overflow: hidden;
    background-color: #eee;
    color: #151;
}

関連記事

Comments:2

swirhenn 08-07-10 (木) 11:35

1.2preならset wildoptions=autoとset complete=lもいれようぜ。

fifnel 08-07-10 (木) 13:10

やべぇぇぇぇ!!!!!
これ最高!超気持ちいい!!

ありがとうございます!!!

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://fifnel.com/2008/07/10/1276/trackback/
Listed below are links to weblogs that reference
Vimperatorの設定が良い感じになってきたので晒してみる from ふぃふmemo

Home > IT | 雑記 > Vimperatorの設定が良い感じになってきたので晒してみる

その他諸々

Return to page top