読者です 読者をやめる 読者になる 読者になる

なんとなく、Firefoxの環境をまとめてみたくなったのでまとめてみた。

(2010.01.28追記)古い記事なのでもっといいアドオンとかがいっぱいある気がします。

夏休みで暇だし!ごめん嘘、現実逃避!!

入れてるアドオン29種類

基本的なアドオン


  • Adblock Plus
    いらない広告を表示しないためのアドオン。

  • NoScript
    スクリプトを禁止したりできる。

  • Tab Mix Plus
    タブ周りを快適にする。

お気に入りなアドオン


  • Easy DragToGo
    リンクや画像をドラッグすると、ドラッグした方向によって保存したり、新しいタブに開いたりできるアドオン。
    中クリックが使えないノートPCとかには必須のアドオンだと思う。Drag de Goってちょっと高機能なのもあるけどFirefox3では動かないっぽい…?

  • Vimperator
    いろんなスクリプトを動かせるキーコンフィグいじりアドオン。
    Vim本家のキーとか分からないので、自己流にキーコンフィグいじったりスクリプト入れたりしてる。

  • Link Alert
    リンク先にカーソルを合わせるとそれぞれのファイル形式によりアイコンが表示されるアドオン。
    .jsとか最後についてるとURIであってもjsのアイコンが表示されたりするが、便利。PDFトラップも回避しやすい。

  • RefControl
    サイトに送るリファラを偽装できるアドオン。
    LDR読む際に画像が表示できたりしてとても重宝する。

  • Delicious Bookmarks
    SBMサービスの「del.icio.us」のアドオン。
    とても出来が良くてRSSフィードをツールバーに表示できたりする。

スクリプト系

入れてるスクリプトは以下にまとめた。

開発系アドオン

表示改良するアドオン

ウェブサービスとの組み合わせで効果を発揮するアドオン


  • SBMカウンタ
    SBM各種のブックマーク数を確認できる。コメントも見れる。

  • LDR Counter
    LivedoorReaderでの購読者数を確認できる。

  • Tombloo
    Tumblrにポストするとき必須のアドオン。他のウェブサービスにもいろいろ対応してる。

  • SearchStatus
    Googleページランクを確認できる。…アドオンだが、これを入れとくとGoogleのウェブ履歴に見たページを全部保存しておける。
    多少怖いところもあるけど、まあ便利。

ブラウザいじいじ

エンタメ的な物

ダウンロード補助


  • BatchDownload
    画像保存用。バッチ処理が出来る。

  • DownThemAll!
    そのページ内のリンク全てとかをダウンロードする時とかに使ってる。

入れてるスクリプト

基本的なグリモン


MinibufferとAutoPagerizeLDRizeの組み合わせ最強!!

LivedoorReader用グリモン

Tumblr用グリモン

はてなブックマーク用グリモン

ニコニコ動画用グリモン

Google用グリモン

Twitter関連グリモン

その他のサイト用グリモン

いろんなサイトで使えるグリモン

Userchrome.jsのスクリプト

Userchrome.jsのスクリプトの使い方はこの辺で。

Firefoxを鍛え直せ! フォクすけブートキャンプ:第4日目:クラフトマンシップを持て——userChrome.js - ITmedia エンタープライズ


Stylishのユーザースタイルシート


そして、上のURIに書き換えるやつを流用してLDR上のクリップブラウザにもURIを表示させるようにした自作スタイルシートがこれ。

/*Name: LDRクリップブラウザにURIを表示
URI:http://d.hatena.ne.jp/jumitaka
 */
@-moz-document domain("reader.livedoor.com") {
ul#ldcbrowser_items a::after{
    visibility: visible ;
    content: attr(href) ;
}
span.clip-count{
	visibility: hidden !important; 
}
span.clip-count a::after {
	visibility: hidden !important;
}

こんな感じ。
ニコ動は全部一発クリップで放り込んでるのでひどいことになってます!

と、ここまでまとめて気づいた。

Vimperatorの環境ファイルの事をすっかり忘れていた…
とりあえず、コピペで成り立ってる感じだけど貼っとく。
その前に入れてるスクリプトは…


  • copy.js

  • direct_bookmark.js

  • feedSomeKeys.js

  • ldrize_cooperation.js

  • matanico.js

  • nicontroller.js

  • sbmcommentsviewer.js

  • tombloo.js

  • twitter.js

このへん。

" 0.5.3 (created: 2007/12/21 19:26:07)
set guioptions=T
" vim: set ft=vimperator:
" ニコ動
" :autocmd PageLoad .* :js modes.passAllKeys = /www\.nicovideo\.jp\/watch/.test(buffer.URL)
" title
set titlestring=Firefox

set wildoptions=auto
set complete=sl

" 開いているページがひとつだけならタブを非表示にする
set showtabline=1

"ビープ音を鳴らさない
set visualbell

" bhg
set complete=sl
set ds=ggle

" ]]/[[ にヒットする文字列追加
set nextpattern+=次(の)?ページ,→\b,下一頁,Следующая,다음,次へ
set previouspattern+=prev, 前(の)?ページ,\b前.*,\b←,前へ

" 選択文字列ののコピーを <C-c> に割り当て
map <C-c> :echo Yank!<CR>Y

" j/k でのスクロール幅を1行から3行に変更
map j 3<C-e>
map k 3<C-y>

" Backspace に戻るを割り当て
map <BS> <A-Left>
map <S-BS> <A-Right>

" h/l に戻るや進むを割り当て
map H <A-Left>
map L <A-Right>

"  ← → でタブ移動
map <Left>  gT
map <Right> gt

" Shift + ← → で現在のタブの位置変更
map <S-Right> :tabmove! +1<CR>
map <S-Left>  :tabmove! -1<CR>

map l gt
map h gT

map x :q<CR>

map m o
map M O

map <M-t> :twitter<space>
map <C-c> :copy<CR>
map <M-;> :m<space>

map ,ni :nicoinfo<CR>
map ,np :nicopause<CR>
map ,nm :nicomute<CR>
map ,nv :nicommentvisible<CR>
map ,nz :nicosize
map ,ns :nicoseek
map ,mn :matanico<CR>


" ***ldrize_cooperation.js***
let g:ldrc_captureMappings = "['j','k','p','o','?']"
let g:ldrc_intelligence_bind = "true"
let g:ldrc_skip = "0.15"
"map ,l :toggleldrc<CR>

map a :viewSBMComments<CR>
let g:def_sbm_format = "id,timestamp,tagsAndComment"

map b :sbm<space>
let g:direct_sbm_use_services_by_tag = "h" 
let g:direct_sbm_use_services_by_post = "h"

" ***copy.js***
javascript <<EOM
liberator.globalVariables.copy_templates = [
{ label: 'titleAndURL',    value: '%TITLE% %URL%' },
{ label: 'titleLfURL',     value: '%TITLE%\n%URL%', map: '<C-C>' },
{ 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***
autocmd LocationChange .* :fmapc

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

" favotter (要Twit Fav command Minibuffer)
autocmd LocationChange http://favotter\.matope\.com/ :fmap f F

" Gmail
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

" livedoor Reader/Fastladder/OpenFL
js <<EOF
autocommands.add('LocationChange',/reader\.livedoor\.com\/reader\//,
  'js plugins.feedKey.setup("j k s a p o v c e <Space> <S-Space> z Z < > q w i f u n y B N T <BS> <Del>".split(/ +/));');
EOF
js <<EOF
autocommands.add('LocationChange',/(fastladder\.com|0\.0\.0\.0\:3000)\/reader\//,
  'js plugins.feedKey.setup("j k s a p v c e <Space> <S-Space> z Z < > q w ".split(/ +/));');
EOF
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap v vj
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
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap f g
autocmd LocationChange http://(reader\.livedoor\.com|fastladder\.com|0\.0\.0\.0\:3000)/reader/ :fmap T t

" Reblog用 (要tombloo.xpi)
autocmd LocationChange http://fastladder\.com/reader/ :fmap i T
autocmd LocationChange http://fastladder\.com/reader/ :fmap e T

" ======================================================================
" ステータスバーに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

" wildoption=auto でウザいmap対策
" http://unsigned.g.hatena.ne.jp/Trapezoid/20080620/1213961754
js <<EOM
[
    ['<S-Right>',':tabmove! -1'],
    ['<S-Left>',':tabmove! +1'],
    ['a',':viewSBMComments'],
	['b',':sbm'],
].forEach(function([key,command]){
    liberator.mappings.addUserMap([liberator.modes.NORMAL], [key],
        "User defined mapping",
        function () { liberator.execute(command); },
        {
            rhs: key,
            noremap: true
        });
});
EOM

いじょーです。