2008-07-23
うちのVimperator設定を晒してみる
Firefox, Vimperator | |
はじめに
これらはVimperatorをお使いの諸先輩方の素晴らしい設定を参考にさせていただいたもので、彼らにまず多大な敬意を表したいと思います。これからVimperatorを使う方の参考に少しでもなればと、拙いまとめではありますが晒させていただきます。なお、私は素人全開100%ですので間違いも多々含まれていると思います。変なところがあっても鵜呑みしないよう、予めそこらへんよろしく。
導入したもの
- Firefox 3.0.1
.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<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> "コピー&ペーストなどOSのショートカットが効くように inoremap <C-a> <C-v><C-a> inoremap <C-z> <C-v><C-z> inoremap <C-x> <C-v><C-x> inoremap <C-c> <C-v><C-c> inoremap <C-v> <C-v><C-v> cnoremap <C-a> <C-v><C-a> cnoremap <C-z> <C-v><C-z> cnoremap <C-x> <C-v><C-x> cnoremap <C-c> <C-v><C-c> cnoremap <C-v> <C-v><C-v> "ロケーションバーにフォーカス map <C-l> <A-d> "各種バー表示をトグル noremap <C-1> :set guioptions=<cr> noremap <C-2> :set guioptions=b<cr> noremap <C-3> :set guioptions=bmT<cr> "LDRize_Cooperationをトグル map q <esc>:toggleldrc<cr> "はてブ追加 noremap a <esc>:hb<space>[ "ダイアログ表示してブックマーク追加 map ,a <esc>:dialog addbookmark<cr> "はてブ情報表示 map b <esc>:hbinfo<cr> "はてブタグ読み込み map ,b <esc>:hbtags<cr> "タブを閉じる(browser_object.js) map x dd "Vimperatorからminibufferコマンド map <C-:> :m<Space> "Ctrl+rで再起動,Ctrl+hでヘルプ map <C-r> :restart<CR> map <C-h> :help<CR> "niconicoplaylist.js関連 map ,nn <esc>:nnpplaynext<cr> map ,na <esc>:nnppushallvideos<cr> map ,nt <esc>:nnppushthisvideo<cr> map ,nc <esc>:nnpclear<cr> map ,nl <esc>:nnpgetlist<cr> map ,nr <esc>:nnpremove<Space> map ,ni <esc>:nicoinfo<cr> map ,np <esc>:nicopause<cr> map ,nm <esc>:nicomute<cr> map ,nv <esc>:nicommentvisible<cr> map ,nz <esc>:nicosize<cr> map ,ns <esc>:nicoseek<cr> " C-cでテキスト選択してたらコピー、 してなかったらロードを中止する js <<EOM mappings.addUserMap([modes.NORMAL,modes.VISUAL],['<C-c>'], '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<Space> " 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 <<EOM autocommands.add('LocationChange',/reader\.livedoor\.com\/reader\//, 'js plugins.feedKey.setup("r ? j k s a p v c <Space> <S-Space> 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 <Space> autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap K <S-Space> 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 <<EOM // [N],nn // N 番目の動画を再生する。 // 指定なしの場合次の動画が再生される。 liberator.mappings.addUserMap( [liberator.modes.NORMAL], [',nn'], 'play next item in NicoNicoPlaylist', function(count) { if(count === -1) count = 1; liberator.execute(':nnpplaynext ' + count); }, { flags: liberator.Mappings.flags.COUNT } ); // [N],nr // 上から N 個の動画を削除する。 // 指定なしの場合一番上の動画が削除される。 liberator.mappings.addUserMap( [liberator.modes.NORMAL], [',nr'], 'remove item in NicoNicoPlaylist', function(count) { if(count === -1) count = 1; for(var i=0 ; i<count ; ++i) liberator.execute(':nnpremove'); liberator.execute(':nnpgetlist'); }, { flags: liberator.Mappings.flags.COUNT } ); EOM javascript <<EOM // [N]- // N 秒前にシークする。 // 指定なしの場合 10 秒前。 liberator.mappings.addUserMap( [liberator.modes.NORMAL], ['-'], 'seek by count backward', function(count) { if(count === -1) count = 10; liberator.execute(':nicoseek! ' + '-' + count); }, { flags: liberator.Mappings.flags.COUNT } ); // [N]+ // N 秒後にシークする。 // 指定なしの場合 10 秒後。 liberator.mappings.addUserMap( [liberator.modes.NORMAL], ['+'], 'seek by count forward', function(count) { if(count === -1) count = 10; liberator.execute(':nicoseek! ' + count); }, { flags: liberator.Mappings.flags.COUNT } ); EOM "Appearance Change with StyleChanger.js let g:styles = "vimperator" " Abbreviations " ====================================================================== "読み込み終了のお知らせ echo "done." source! ~/_vimperatorrc.local " vim: set ft=vimperator:
導入したプラグインリスト
合計 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あたりを使うのかな
参考にさせていただいたサイト(ほんの一部)
- CodeRepos Plugin一覧
- CodeRepos 設定ファイル一覧
- Open Tech Press | Firefox拡張:FirefoxをVim風のキーバインドで操作するVimperator
- Firefoxをキーボード操作できるプラグイン「Vimperator」の使い方
- Big Sky :: ひとあしお先に。「vimperator」を入れると今後ウェブブラウズがどう変るのか。
- Vimperatorの設定が良い感じになってきたので晒してみる - ふぃふmemo
- いまのvimperator環境 - Dis Communication - 符号無し
- Firefox 3.0b5とvimperator0.6とAutoPagerizeとLDRizeとMinibufferとldr_cooperation.jsを組み合わせると快適過ぎる
- VimperatorでコピーやペーストとかOSのショートカットが効かない
- wildoptions=autoとcomplete=lが凄い件 - Dis Communication - 符号無し
- 検索エンジン・キーワードについて - hogehoge
- 日本語ヘルプ アップデート
トラックバック - http://d.hatena.ne.jp/lillilife/20080723/1216725385
リンク元
- 48 http://reader.livedoor.com/reader/
- 16 http://www.google.com/reader/view/
- 15 http://b.hatena.ne.jp/entrylist?sort=hot
- 7 http://www.google.co.jp/reader/view/
- 6 http://b.hatena.ne.jp/t?tag=vimperator&sort=eid
- 5 http://d.hatena.ne.jp/
- 5 http://vim.g.hatena.ne.jp/
- 5 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&hs=6fL&q=Vimperator+Copy+Paste&start=10&sa=N
- 4 http://b.hatena.ne.jp/entrylist?sort=hot&of=50&threshold=5
- 4 http://clip.livedoor.com/clip/add?link=http://d.hatena.ne.jp/lillilife/20080723/1216725385&title=うちのVimperator設定を晒してみる - Vivre Revive&jump=http:/

Vimperatorで;bでリンクを新しいバックグラウンドのタブに開くようにする。
http://anond.hatelabo.jp/20080709195527
見よう見まねでxpiビルド試しましたが、
chromeが本体に登録できないとかでなんだかうまくいかないので、
素直に本体にマージされるのを待とうと思います。
うちのVimpでは[Shift]+[f]だと新しいタブで開くには開くんですが、
フォアグラウンド(新しいタブがアクティブ)で開いてしまいます。
アドオンが干渉してたり、どこかに設定でもあるのかなあ