うちのvimperator設定を晒してみる Ver.2.0

まえがき

vimperatorを2.0にバージョンアップしてもうすぐ一月。導入した当初は謎のエラー連発でプロフィール作り直したりしながらも
負けずに設定を練り練りしていたら、またさらにいい感じになってきたのでまた晒してみる
今回はrc,pluginに加えてcolorschemeも載せました
例によって色んな方の諸々を参考にさせていただいております。多謝!

.vimperatorrc

何ヶ所かID入れるところがあるのでそこは各自書き換えてください

"2.0 (created: 2009/03/28 23:48:07)

" prefs
" ======================================================================
" caretのサイズ
"set! ui.caretWidth=10

" undo保持数
set! browser.sessionstore.max_tabs_undo=30

" タブの閉じるボタン非表示
set! browser.tabs.closeButtons=2

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


" Gmail/LDR/Fastladder/OpenFL/はてブでは新規タブをバックグラウンドで開く
autocmd LocationChange (?!https?://(mail\.google\.com\/(mail|a)\/|(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/|b\.hatena\.ne\.jp/revivre)) :set! browser.tabs.loadDivertedInBackground=false
autocmd LocationChange https?://(mail\.google\.com\/(mail|a)\/|(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/|b\.hatena\.ne\.jp/revivre) :set! browser.tabs.loadDivertedInBackground=true


" options
" ======================================================================
" ex mode でインクリメント補完
set wildoptions=auto

" :[tab]open の補完対象と順番
set complete=Slb

" maine_coon.js
set mainecoon=am

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

"右側にスクロールバーを表示
set guioptions=r

" 常にタブを表示
set showtabline=2

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

" 新規ウィンドウの処理
set popups=1

" ページロード時にテキストボックスにフォーカスするのを防ぐ
set focuscontent

" 詳細表示を5行に(最大値=9)
set verbose=5

" Beep設定
set visualbell
hi Bell opacity: .5;

" mappings
" ======================================================================
"j/kの移動量を5倍に
noremap j 5<C-e>
noremap k 5<C-y>
"J/KにPageDown,PageUpを割り当て(LDRizeが効いている場合でも指のポジションを動かさずに済む
noremap J <PageDown>
noremap K <PageUp>
"h/lで戻る/進む
noremap h <A-Left>
noremap l <A-Right>
"H/Lでタブ移動
noremap H gT
noremap L gt
"←/→でタブ移動
map <Left> <C-p>
map <Right> <C-n>
"Shift+←/Shift+→でタブ位置変更
map <S-Right> :tabmove! +1<CR>
map <S-Left> :tabmove! -1<CR>

"検索バーにフォーカス
map <C-k> <C-v><C-k>

"ロケーションバーにフォーカス
map <C-l> <A-d>

" URL中の数字を++/--
noremap ++ <C-a>
noremap -- <C-x>


"Ctrl+rで再起動,Ctrl+hでヘルプ ,sで設定ファイル再読込
map <C-r> :restart<CR>
map ,s :so _vimperatorrc<CR>

"各種バー表示をトグル
noremap <C-1> :set guioptions=r<cr>
noremap <C-2> :set guioptions=Br<cr>
noremap <C-3> :set guioptions=BmTr<cr>
noremap <C-4> :set mainecoon=amc<cr>
noremap <C-5> :set mainecoon=am<cr>
noremap <C-6> :set mainecoon=m<cr>

"qmarks
map qm <esc>:qmark<Space>
map qa <esc>:qmarks<cr>

"LDRize_Cooperationをトグル
map z <esc>:toggleldrc<cr>

" OSのキーバインドを再現 
noremap <C-a> <C-v><C-a>
noremap <C-c> <C-v><C-c>

inoremap <C-a> <C-v><C-a>
inoremap <C-c> <C-v><C-c>
inoremap <C-v> <C-v><C-v>
inoremap <C-x> <C-v><C-x>
inoremap <C-z> <C-v><C-z>
inoremap <C-Space> <C-v><C-Space>

cnoremap <C-a> <C-v><C-a>
cnoremap <C-c> <C-v><C-c>
cnoremap <C-v> <C-v><C-v>
cnoremap <C-x> <C-v><C-x>
cnoremap <C-z> <C-v><C-z>

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

" char_hints_mod2.js
let g:hints io="IO"
let g:hintchars="HJKLASDFGYUIOPQWERTNMZXCVB"

" migemo_hint.js
set hintmatching=custom

" sbmcommentsviewer.js
let g:def_sbm_format = "timestamp,id,tagsAndComment"
let g:def_sbms = "h"
map bb :viewSBMComments<CR>

" direct_bookmark.js
let g:direct_sbm_use_services_by_tag = "h"
let g:direct_sbm_use_services_by_post = "h"
let g:direct_sbm_is_normalize = "false"
let g:direct_sbm_is_use_migemo = "true"
map B :bentry<CR>
map a :sbm<CR>
map A :sbm<Space>
map ,a :btags<CR>

" ldrize_cooperation.js
let g:ldrc_captureMappings = "['j','k','p','o','?']"
let g:ldrc_intelligence_bind = "true"
let g:ldrc_skip = "0"

"LDR Unread Counter.js
let livedoor_id = "your_livedoor_id"

"google-search.js
map s :gsearch!<Space>

" lookupDictionary.js
map e :eijiro<Space>

" browser_object.js
map x dd

" multi_requester.js
map ,m,s :so<Space>$RUNTIME/plugin/multi_requester.js

javascript <<EOF
/* DEFAULT SITES */
liberator.globalVariables.multi_requester_default_sites = "alc,goo,favotter-new,twitter-search-pcod-no-jp,search-twitter,wikipedia-jp"

/* SITE_INFO */
liberator.globalVariables.multi_requester_siteinfo = [
    {
        name:           'favotter-new',
        description:    'favotter newest',
        url:            'http://favotter.matope.com/user.php?user=%s',
        xpath:          '//div[@class="hentry"]',
    },
    {
        name:           'twitter-search-pcod-no-jp',
        description:    'twitter search(yats)',
        url:            'http://pcod.no-ip.org/yats/search?query=%s',
        xpath:          '//li[@class="hentry"]',
    },
    {
        name:           'wikipedia-jp',
        description:    'wikipedia(japanese)',
        url:            'http://ja.wikipedia.org/wiki/%s',
        xpath:          'id("bodyContent")',
    },
    {
        name:           'search-twitter',
        description:    'twitter search(search.twitter.com)',
        url:            'http://search.twitter.com/search?q=%s',
        xpath:          'id("results")/ul/li',
    },
];

/* KEY MAPPING */
liberator.globalVariables.multi_requester_mappings = [
	[',mt', 'twitter-search-pcod-no-jp'],
	[',Mt', 'twitter-search-pcod-no-jp', '!'],
	[',mT', 'twitter-search-pcod-no-jp',    , '["your_id"]'],
	[',MT', 'twitter-search-pcod-no-jp', '!', '["your_id"]'],
	[',mf', 'favotter-new'],
	[',Mf', 'favotter-new', '!'],
	[',mF', 'favotter-new',    ,'["your_id"]'],
	[',MF', 'favotter-new', '!', '["your_id"]'],
	[',ma', 'alc'],
	[',Ma', 'alc', '!'],
	[',mg', 'goo'],
	[',Mg', 'goo', '!'],
	[',mw', 'wikipedia-jp'],
	[',Mw', 'wikipedia-jp', '!']
];
EOF

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


" feedSomeKeys_2.js
autocmd LocationChange .* :fmapc
" Tumblr (要dashboard+tombloo.user.js, ReblogCommand.user.js)
autocmd LocationChange ^http://.*\.tumblr\.com/ :fmap i,tj
" LDR/Fastladder/OpenFL
autocmd LocationChange ^http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap j k s a p v c z Z b i,ie r < > o,vj J,<Space> K,<S-Space> q w g u T
" Fastladder Reblog用 (要tombloo.xpi/ldr+tombloo.user.js)
autocmd LocationChange ^http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap i,Tj
" はてブ
autocmd LocationChange ^http://b\.hatena\.ne\.jp/your_hatena_id :fmap j k o e b

" colorscheme
" ======================================================================
colorscheme BrewBlue
style -name tab-style-fix chrome://* <<EOM
.tab-text-shadow,
.tabs-newtab-button {
  display: none !important;
}
EOM

" vim: set ft=vimperator:

プラグインリスト一覧

ほとんどは1.2からの引き継ぎで目立った追加は以下の3つ

名前 説明 感想
maine_coon.js なるべくでかい画面で使えるように ただでさえ広いVimperatorの画面がさらに広くなります
multi_requester.js リクエストの結果をバッファに出力する いちいちタブを開かなくても検索結果が見れて便利!
_smooziee.js j,kキーでのスクロールをスムースに Fx本体にもYetAnotherSmoothScrolling入れてる自分にはこのスイスイ感が病み付き

合計22個

  • browser_object.js
  • char-hints-mod2.js
  • direct_bookmark.js
  • feedSomeKeys_2.js
  • forcefocuscontent.js
  • google-search.js
  • hatenabookmark_show.js
  • ime_controller.js
  • ldrize_cooperation.js
  • ldrize_cooperation_fetch_flv.js
  • ldr_unread_counter.js
  • lookupDictionary.js
  • maine_coon.js
  • migemized_find.js
  • migemo_completion.js
  • migemo_hint.js
  • multi_requester.js
  • sbmcommentsviewer.js
  • tombloo.js
  • twitter.js
  • _libly.js
  • _smooziee.js

colorscheme

青を基調としたBrewBlue.vimp
sweets.vimp,evening.vimpなど参考にしつつ、ここらへんをみて一つ一つ指定していった。
最初はどこがどこに対応してるのか全然わからなくてめっちゃ時間かかったけど、ある程度満足いくものができたんじゃないかと

" ==Vimperator_Color_Scheme==
" name: BrewBlue
" ==Mono_Color_Scheme==
hi Hint			color: #333333;		background: White;	font-size: 14px;	font-family: Consolas, Osaka, monospace,  monospace;	font-weight: bold;	padding: 0px 2px;	border: 3px outset #ddd;	opacity:0.80;

hi HintElem		color: Black;		background: PowderBlue;	
hi HintActive		color: White;		background: SteelBlue;	

hi StatusLine 		color: #333333;		background: #eeeeee;	font-size: 10pt;	font-family: Consolas, Osaka, monospace, monospace;
hi StatusLineBroken	color: #333333;		background: #ff6060;				font-family: Consolas, Osaka, monospace, monospace;
hi StatusLineSecure	color: #333333;		background: #aacf53;				font-family: Consolas, Osaka, monospace, monospace;

hi Normal 		color: SkyBlue;		background: #333;	font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi InfoMsg		color: SkyBlue;		background: #333;	font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi ModeMsg		color: SkyBlue;		background: #333;	font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi MoreMsg		color: SkyBlue;		background: #333;	font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi LineNr		color: DodgerBlue;	background: #333;	font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi Question		color: LightYellow;	background: #333;	font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi WarningMsg		color: DeepPink;	background: #333;	font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi Keyword        	color: CornflowerBlue;				font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi Tag			color: CornflowerBlue;				font-size: 9pt;		font-family: Consolas, Osaka, monospace, monospace;
hi NonText 					background: #333;
hi Null			color: SkyBlue;
hi Filter		color: #aacf53;		font-weight: bold;


hi CompTitle		color: DodgerBlue;	background: Black;	font-weight: bold;	font-family: Consolas, Osaka, monospace, monospace;
hi CompResult		width: 45%; 		overflow: hidden;				font-family: Consolas, Osaka, monospace, monospace;
hi CompDesc		width: 50%;								font-family: Consolas, Osaka, monospace, monospace;
hi CompItem											font-family: Consolas, Osaka, monospace, monospace;
hi CompItem[selected]	color: #aacf53;		background: #555;	font-weight: bold;	font-family: Consolas, Osaka, monospace, monospace;

hi Gradient		height: 1px; 		margin-bottom: -1px; 	margin-top: -1px;
hi GradientLeft		background: #aacf53;
hi GradientRight	background: #333333;

hi Title		color: SkyBlue;
hi Indicator		color: DodgerBlue;
hi String		color: DeepPink;
hi Number		color: DeepPink;
hi Object		color: Khaki;
hi Function		color: DeepSkyBlue;
hi URL			color: PowderBlue;

hi TabNumber		color: White;		font-weight: bold;	font-size: 10pt;	font-family: Consolas, Osaka, monospace, monospace;

style -name tab chrome://* <<EOM
#liberator-statusline {
    font-family: Consolas, Osaka, monospace !important;
    font-weight: normal !important;
    font-size: 10pt !important;
    padding:3px 0 !important;
}
.tabbrowser-tab {
    font-size: 12px;
    font-weight: normal;
    text-align: left !important;
}
#status-bar statusbarpanel {
    padding: 0 1px !important;
}
statusbarpanel > * {
    margin: 0 !important;
    padding: 0 !important;
}
EOM

以下SS

気になるライヴ

twitter経由で知った
epic45 Japan tour 2008 & miaou "all around us" release tour <9/13〜9/28>
http://www.inpartmaint.com/event_live_information/index.php

9/24 Keith Flack!!!!!!!!

ヤッホウ!miaouのライヴが見れる!夢が叶う!

気になる新譜

The City of Light

The City of Light

残響

残響

気になるアーティスト

Last.fm,タワレコ,街の中。
色んなところで気になるアーティストに巡りあう。
それをここにメモしていくのだ。

たぶんまだまだたくさんある。

うちのVimperator設定を晒してみる

はじめに

これらはVimperatorをお使いの諸先輩方の素晴らしい設定を参考にさせていただいたもので、彼らにまず多大な敬意を表したいと思います。これからVimperatorを使う方の参考に少しでもなればと、拙いまとめではありますが晒させていただきます。なお、私は素人全開100%ですので間違いも多々含まれていると思います。変なところがあっても鵜呑みしないよう、予めそこらへんよろしく。

.vimperatorrc

" 1.2pre (created: 2008/07/11 21:30:06)

" Options
"メニュー/ツール/ブックマークバーを表示
set guioptions=mTb
"ブラウザタイトルの設定
set titlestring=Mozilla Firefox 3
"エラー時のビープ音をビジュアルベルに
set visualbell
"ビジュアルベルを無効化
set visualbellstyle=display:none;
"詳細表示を7行に(最大値=9)
set verbose=7
":[tab]open時の補完設定(s=検索エンジン+キーワードURL,l=ロケーションバーの補完機能を利用)
set complete=sl
"コマンド入力時にコマンド名を自動補完
set wildoptions=auto
"デフォルト検索エンジン(検索バーの管理→キーワード,うちではg=google)
set defsearch=g
"サジェストエンジンの設定
set suggestengines=g
"検索語のハイライト
set hlsearch
"開いているページが1つならタブ非表示
set showtabline=1
"履歴を保存
set history=1000
"以下のとき新しいタブで開く
set activate=homepage,quickmark,tabopen,paste
"ヒント機能(f,F押下時)の見た目設定(効いてない?)
set hintstyle+= font-family: Verdana , monospace; font-size:20px; color:white; background-color:blue; border-color:ButtonShadow;


" Mappings
"j/kの移動量を5倍に
noremap j 5
noremap k 5
"J/KにPageDown,PageUpを割り当て(LDRizeが効いている場合でも指のポジションを動かさずに済む
noremap J 
noremap K 
"h/lで戻る/進む
noremap h 
noremap l 
"H/Lでタブ移動
noremap H gT
noremap L gt
"←/→でタブ移動
map  
map  
"Shift+←/Shift+→でタブ位置変更
map  :tabmove! +1
map  :tabmove! -1

"コピー&ペーストなどOSのショートカットが効くように
inoremap  
inoremap  
inoremap  
inoremap  
inoremap  
cnoremap  
cnoremap  
cnoremap  
cnoremap  
cnoremap  

"ロケーションバーにフォーカス
map  

"各種バー表示をトグル
noremap  :set guioptions=
noremap  :set guioptions=b
noremap  :set guioptions=bmT

"LDRize_Cooperationをトグル
map q :toggleldrc

"はてブ追加
noremap a :hb[

"ダイアログ表示してブックマーク追加
map ,a :dialog addbookmark

"はてブ情報表示
map b :hbinfo

"はてブタグ読み込み
map ,b :hbtags

"タブを閉じる(browser_object.js)
map x dd

"Vimperatorからminibufferコマンド
map  :m

"Ctrl+rで再起動,Ctrl+hでヘルプ
map  :restart
map  :help

"niconicoplaylist.js関連
map ,nn :nnpplaynext
map ,na :nnppushallvideos
map ,nt :nnppushthisvideo
map ,nc :nnpclear
map ,nl :nnpgetlist
map ,nr :nnpremove
map ,ni :nicoinfo
map ,np :nicopause
map ,nm :nicomute
map ,nv :nicommentvisible
map ,nz :nicosize
map ,ns :nicoseek

" C-cでテキスト選択してたらコピー、 してなかったらロードを中止する
js <'], 'Copy selected text or stop loading',
    function(){
        var sel = window.content.window.getSelection().toString();
        if (sel){
            copyToClipboard(sel,true);
        } else {
            BrowserStop();
            echo('Stopped loading !');
        }
    }
);
EOM

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

" googlesuggest.js
map s :google

" migemo_hint.js
set hintmatching=custom

" ldrize_cooperation.js
let g:ldrc_captureMappings = "['j','k','p','o','?']"
let g:ldrc_intelligence_bind = "false"
let g:ldrc_skip = "0.25"

" feedSomeKeys.js
autocmd LocationChange .* :fmapc

" livedoor Reader/Fastladder/OpenFL
js <  z Z < > q w b i g u".split(/ +/));');
EOM
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap o vj
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap J 
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap K 
autocmd LocationChange (?!http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/) :set! browser.tabs.loadDivertedInBackground=false
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :set! browser.tabs.loadDivertedInBackground=true

" Reblog用 (要tombloo.xpi)
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap i t

" Tumblr (要ReblogCommand)
autocmd LocationChange http://.*\.tumblr\.com/ :fmap i t

"niconicoplaylist.js (http://d.hatena.ne.jp/janus_wel/20080711)
" 再生リストの表示数を 7 個に
" plugin : niconicoplaylist_cooperation.js
let g:nnp_coop_numoflist='7'

javascript <

導入したプラグインリスト

合計 20個
入手先はほとんどCodeRepos

bookmarktoolbar-hint.js ブックマークツールバーにもヒント機能を 参照
browser_object.js drtで「ここから右のタブ閉じる」rstで「同ホストのタブを全部リロード」とか 参照
char-hints-mod.js クイックヒントを数字から英字に
copy.js :copyコマンドでCopy URL+的な機能を 参照
direct_hb.js はてなブックマークに開いているページを直接追加 参照
feedSomeKeys.js 任意のURLで任意のキーをブラウザに渡す 参照
googlesuggest.js タブ補完時にGoogleSuggestをつかって補完を可能にする
hatenabookmark_show.js :hbinfoコマンドではてなブックマークを表示
hatenaStar.js :hatenastarコマンドではてなスターを打つ 参照
ime_controller.js コマンド入力及びテキスト入力時のIMEを指定の状態に切り替える 参照
ldrize_cooperation.js LDRizeとVimperatorを協調動作させる 参照
ldrize_cooperation_fetch_flv.js :fetchflvコマンドでニコニコ動画をDL 参照
lookupDictionary.js :eijiro,:gooコマンドで辞書検索
migemo_hint.js fのヒント機能時にローマ字でリンクの日本語を絞り込み 参照
nicontroller.js ニコニコ動画をキーボードで操作 参照
nnp_cooperation.js NicoNicoPlaylistと協調動作するプラグイン 参照
sbmcommentsviewer.js ソーシャルブックマークのコメントを表示 参照
stylechanger.js Stylish的なプラグイン:コマンドでリロード可能など 参照
twitter.js twitterに投稿したり情報表示したり 参照
wassr.js wassrに投稿したり情報表示したり 参照

困ってること

  • やっぱりset hintstyle+が効いてない気がする
  • F押したときはバックグラウンドタブでガシガシ開きたいけど、やり方がわからん
    • :set! browser.tabs.loadDivertedInBackgroundあたりを使うのかな