Vim の勉強ということで、最近Firefox の Vimperator アドオンを使い始めました。
そこでおすすめの設定があれば教えてください。
少なくとも私にとっては、2 つの設定が非常に便利です。
:set wildoption=auto
:set cpt=l
最初に vimperator コマンドラインから試すことができます。最初のコマンドを入力すると、動的なヒントがすぐに表示されます。たとえば、2 番目のコマンドを続けて 'l' の意味を確認する場合などです。wildoption をオンにすると、ほとんどの場合機能しない矢印キーの代わりに、Tab キーを押すことでヒント リストからアイテムにアクセスできます。
私が気に入っているもう 1 つの方法は、デフォルトでブックマークをサイドバーとして設定することです。コマンドは次のとおりです。
:sidebar Bookmarks
wildoptions をオンにした後のもう 1 つのトリックとして、次のように入力して FireFox メニュー項目にアクセスできます。
:emenu [key_word]
# or
:em[tab]
ここで、key_word は Add-on などの任意のメニュー キーワードです。
私は、vimperator に関するいくつかのブログと、vimperator のデフォルト設定を設定する方法を持っています。
Vimperatorをお楽しみください。Firefox の優れたアドオンです。
あまり。Vim (および Vimperator) の顕著な特徴の 1 つは、既定の構成でかなり適切なエクスペリエンスを提供することです。私がお勧めするのは、Vimperator の最高の機能であるマクロ(q)
とヒンティングをいじることです。(f)
興味深いマクロの例は数多くありますが、私のお気に入りは、すべてのタブですべての画像を開き、対応する画像を含む新しいタブに展開するマクロです。書いてみてください!必要なのは、マーカーと、Pornzilla の「リンクされた画像」に似た JavaScript だけです。
私は Pentadactyl を使用しています - これはほとんど同じです。次の 2 つのオプションが役立つと思います。
set hintkeys=0123456789abcdefghijklmnopqrstuvwxyz
set! browser.tabs.closeButtons=2
また、FireFox がウィキペディア検索を認識していると仮定し、それが wikipedia-en と呼ばれているとします。次に、ウィキペディアの検索選択をキーにバインドする方法を次に示します。
javascript <<EOF
dactyl.mulSearch = function () {
let selection = content.getSelection().toString();
dactyl.execute(":tabopen wikipedia-en " + selection);
};
EOF
:map s -js dactyl.mulSearch();
(これを ~/.pentadactylrc に置く必要があります) を押した後のこの検索選択s
。このようにして、他の検索エンジンを同じキーにバインドすることもできます!
編集:
" default place for downloads:
cd ~/dwn
" lots of hints!
set hintkeys=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
" no close buttons on tabs
set! browser.tabs.closeButtons=2
" May be default hints would suit You better - but they were to small for me:
:highlight Hint font:"DejaVu Sans Mono";font-size:120%;color:red;background-color:yellow;padding:2px;
" to prevent d on the last tab from closing the window:
:set! browser.tabs.closeWindowWithLastTab=false
" encripted google - is better for hints (it has less links)
:bmark https://encrypted.google.com/search?sclient=psy&hl=en&complete=0&site=webhp&source=hp&q=%s -keyword google
set defsearch=google
" ==================
"" Cyrillic letters:
map Ф A
map И B
map С C
map В D
map У E
map А F
map П G
map Р H
map Ш I
map О J
map Л K
map Д L
map Ь M
map Т N
map Щ O
map З P
map Й Q
map К R
map Ы S
map Е T
map Г U
map М V
map Ц W
map Ч X
map Н Y
map Я Z
map ф a
map и b
map с c
map в d
map у e
map а f
map п g
map р h
map ш i
map о j
map л k
map д l
map ь m
map т n
map щ o
map з p
map й q
map к r
map ы s
map е t
map г u
map м v
map ц w
map ч x
map н y
map я z
小さな変更を加えました。タブ間の移動を 2 回ではなく 1 回のキーストロークにしました。これは、リンクのクリックとスクロールの次に行う最も一般的な操作であるためです。
また、ビープ音の代わりに視覚的なインジケーターを表示し、選択したハイパーリンクのリンク先をステータス ラインではなくコマンド ラインに表示して、現在のページの URL を常に確認できるようにします。
私の _vimperatorrc ファイルから:
" Mappings
map b gt
map B gT
map a B
" Options
set visualbell
set complete=hbsf
set showstatuslinks=2
"eval script in tabs
js <<EOF
function ExecScriptInTabs(filter,domjs){
tabs.allTabs.forEach(function(itm){
var ctab=gBrowser.getBrowserForTab(itm);
if(filter(ctab)){
var s=ctab.contentDocument.createElement('script')
s.textContent=domjs;
ctab.contentDocument.body.appendChild(s);
}
})
}
EOF
次に、必要なものをマッピングできます
group.mappings.add(
[modes.NORMAL],
[",ds"],"skip",
function(){
ExecScriptInTabs(function(ctab){
return ctab.contentDocument.location.host.match("douban\.fm");
},"DBR.act('skip')");//skip,pause,love
}
)
Alt+F4やqallコマンドでセッションを保存したい場合
~/.vimperatorrc に次の行を追加します
command! qall xall
Pentadactylも使用しますが、以下は Vimperator でも動作するはずです。DuckDuckGoやstackoverflowなどのさまざまなサイトを検索できるように、いくつかのコマンドを追加しました。
次のコマンドを使用して、新しい検索エンジンを追加できます。
:display searchengines
以下を機能させるために、 stackoverflow検索エンジンを追加します。
stackoverflowを検索する新しいコマンドスタックを定義します。
:command -nargs=* stack open stack-overflow <args>
次のコマンドを使用して、stackoverflow を検索し、vimperator 関連のすべての質問を取得できます。
:stack vimperator
必ず発行する
:mkpentadactylrc!
Firefoxの再起動後にコマンドを使用できるようにします。