Trapezoidさんのスクリプトと私が改変したスクリプトをひとつにまとめてみた.
javascript <<EOM [ ['<C-h>',':tabmove! -1',true], // Move the current tab ['<C-l>',':tabmove! +1',true], // Move the current tab ['q',':toggleldrc',true], // Toggle ldrize_cooperatio ['A',':sbm [',false], // Add the current page to hatena bookmark and delicious ].forEach(function([key,command,exec]){ liberator.mappings.addUserMap([liberator.modes.NORMAL], [key], 'User defined mapping', function(){ exec ? liberator.execute(command) : liberator.commandline.open(command.substring(0, 1), command.substring(1), liberator.modes.EX); }, { rhs: command, noremap: true }); }); EOM
[key,command,exec]のexecがtrueだったら即実行,falseだったら入力待ちになる.
(追記 2008/11/23 18:02)
環境はMac OS X 10.5.5のVimperator 1.2 with Firefox 3.0.4です.
id:teramakoさんより,Vimperator 2.0preではこの件は改良されているとはてブでコメントいただきました.情報ありがとうございました.
Vimperator 2.0preもそろそろ試してみたいです.
(追記 2008/10/24 18:45)
id:suVeneさんより,「rhs は key より、command がいいと思う」とのはてブコメントをいただきました.
rhsは:mapコマンドでキーマッピング一覧を表示させたときのマッピング先の説明部分に対応するみたいです.マッピング先の説明なのにマッピング元のkeyが表示されるのは不適切なので,記事のスクリプトをrhs: commandに修正しました.
ご指摘ありがとうございました.