Firefox3.6.3とVimperator2.3.1の設定

定期的にアドオンとか設定が変わってるので、定期的にブログも更新する必要がある
最近のVimperatorの設定 - とはえ領域
前回の記事から約1年半経ってるので結構変わったかも。

アドオン

開発に使わないものだけ挙げておく

  • BarTab
  • Delicous Bookmarks
  • Greasemonkey
  • SQLite Optimizer
  • Stylish
  • vimperator
  • tree style tab

BarTabはFirefoxを起動したときに、前回のタブを復元する設定にしてる人には超便利。
DeliciousBookmarksはDeliciousをオンラインブックマークとして使ってる人は入れた方がいい気がする。
Greasemonkeyは言わずもがな。
SQLiteOptimizerはFirefoxが使ってるSQLiteを最適化してくれるので動作が軽くなります。
Vimperatorは万人にはおすすめできない。
TreeStyleTabは画面を縦に精一杯使いたい人は入れるべき。あとタブをいっぱい開く人も入れるべき

GreaseMonkey

グリモンで入れてるやつ。AutopagerizeLDRizeのためだけですね。

Stylish

MacのFirefoxだと、ブックマークツールバーにふぁびこんが表示されない(はず)なんだけど、これもCSSでなんとかできる。どっかからコピペしてきたけど忘れた。

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

/* ラベルを非表示にするにはコメントを外す */
/*
toolbarbutton.bookmark-item:not([container="true"]) > .toolbarbutton-text-stack {
  display: none !important;
}
*/
toolbarbutton.bookmark-item:not([container="true"]) > .toolbarbutton-icon {
  padding: 0px !important;
  margin: 0px !important;
  width: 16px;
  height: 16px;
  display: inline !important;
}

あとはMacだとAAが結構崩れるので、IPAモナーフォント for AAっての入れてる。
ほかはヤフーの邪魔な広告を消すためとかにちょくちょくいじってる。

Vimperator

pluginはsvnで落としてきて、必要なファイルにだけシンボリックリンクを貼るようにしてる。これで更新するときはsvn updateするだけですむ。たぶん。

入れてるプラグインは下記のとおり。

  • _libly.js
  • appendAnchor.js
  • char-hints-mod2.js
  • delicious_search.js
  • direct_bookmark.js
  • feedSomeKeys_3.js
  • gmperator.js
  • hatenaStar.js
  • ime_controller.js
  • ldrize_cooperation.js
  • maine_coon.js
  • mixiecho.js
  • multi_requester.js
  • no-reading.js
  • opener.js
  • resizable_textarea.js
  • sbmcommentsviewer.js
  • twitter.js

前回からの差分は、feedSomeKeys_3.jsとno-reading.jsとopener.jsとresizable_textarea.jsですかね?feedSomeKeysはバージョンアップで、no-reading.jsは使ってない。opener.jsは開こうとしてるURLがすでに他のタブで開かれてたら開かれなくなる。resizable_textarea.jsはSafariみたいにテキストエリアがリサイズ可能になるんだったかな?
.vimperatorrcはこんな感じ。

colorscheme sweets_snaka
"GUI
command! -nargs=+ lazy autocmd VimperatorEnter .* <args>
set go=rb
lazy set go+=D

set! ui.key.generalAccessKey=0

" Beep?&#1874;?
set visualbell
hi Bell display: none;

set hlsearch
set focuscontent
set! dom.popup_maximum=999
set! browser.sessionstore.max_tabs_undo=30
"set nopreload
set complete=tls
lazy set complete+=D
set! browser.urlbar.filter.javascript=false

set showstatuslinks=2

noremap U :undo<Space>


map j 3<C-e>
map k 3<C-y>
map h gT
map l gt
map U :undo<Space>
map . :buffer<Space>

map ,T :twitter!<Space>
map q :twitter!<Space><CR>
map @ :twitter!@<CR>
map ,mt :mr<Space>twitter-search-pcod-no-jp<Space>
map ,mT :mr<Space>twitter-search-pcod-no-jp<Space>tohae<CR>
map ,mf :mr<Space>favotter-new<Space>
map ,mF :mr<Space>favotter-new<Space>tohae<CR>

map s :sbm<Space>[
map m :mixiecho<CR>
map v :viewSBMComments<CR>

let g:ldrc_captureMappings = "['j','k','p','o','?']"
let g:ldrc_intelligence_bind = "true"
let g:ldrc_skip = "0.15"

let g:direct_sbm_use_services_by_tag = "d" 
let g:direct_sbm_use_services_by_post = "d"
lazy :btags

let g:auto_append_anchor = "true"
let g:auto_append_anchor_once = "true"

let g:def_sbm_format="timestamp,id,tagsAndComment"
let g:def_sbms="hd"
let g:hintsio="i"

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


" Gmail/GoogleReaderでは新規タブをバックグラウンドで開く
autocmd LocationChange (?!https?://(mail\.google\.com\/(mail|a)\/|www\.google\.com/reader)) :set! browser.tabs.loadDivertedInBackground=false
autocmd LocationChange https?://(mail\.google\.com\/(mail|a)\/|www\.google\.com/reader) :set! browser.tabs.loadDivertedInBackground=true
autocmd LocationChange http://localhost/~tohae/foxkuser.html :set! browser.tabs.loadDivertedInBackground=true


" feedSomeKeys_3.js
" Gmail
lazy fmaps -u='^https?://mail\.google\.com/(mail|a)/' c / j k n p o u e x s r a # [ ] z ? gi gs gt gd ga gc

" Google Reader
command! -nargs=+ lazyfmapsgooglereader lazy fmaps -urls='www\.google\.com/reader' -events=vkeypress <args>
lazyfmapsgooglereader j k J K <Space> <S-Space> n p N P X O s v gh ga gs gS gu gt gT gd gf gF gc ge gp r u 1 2 / a

" Tumblr (use: tombloo.xpi, dashboard+tombloo.user.js, reblogcommand.user.js, playontumblr.user.js)
lazy fmaps -u='^http://[^\./]*\.tumblr\.com/' i,tj e,tk n,h
" favotter (use: twitfavcommandminibuffer.user.js)
lazy fmaps -u='^http://favotter\.net/' e,F
" LDR/Fastladder (use: tombloo.xpi, ldr+tombloo.user.js, ldr_relative_rate.user.js)
lazy fmaps -u='^http://(reader\.livedoor|fastladder)\.com/reader/' j k s a p v c z Z b,i B,b e r < > o,vj J,<Space> K,<S-Space> q w g u
lazy fmaps -u='^http://(reader\.livedoor|fastladder)\.com/reader/' -events=vkeypress i,Tj T
" iview
lazy fmaps -u='^chrome://iviewfx/content/iview\.html' j k s a z o i,tj p
" ?&#834;ău
lazy fmaps -u='^http://b\.hatena\.ne\.jp/(?!(entry|articles|guide))' j k o,oj e a,b
"nnoremap -urls='^http://b\.hatena\.ne\.jp/(?!(entry|articles|guide))' a :xh A //h3[contains(concat(" ",normalize-space(@class)," "), " entry current-element ")]/a[1]<CR>

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

" yourfilehost cookie削除
" cf.http://anond.hatelabo.jp/20100108213648
js <<EOM
commands.addUserCommand(
  ['removeCookieOfYourfile'],
  'removeCookieOfYourfile',
  function() {
    liberator.execute('cookiemanager remove yourfilehostdatabase.com/');
    liberator.execute('cookiemanager remove yourfilehost.com/');
    liberator.execute('cookiemanager remove yourlifehost.jp/');
        }
);
EOM