「vimperator」を含む日記 RSS

はてなキーワード: vimperatorとは

2011-09-23

http://anond.hatelabo.jp/20110902170141

nethackはさすがに古いと思うんだ。今なら何がいいんだろ?vimperatorLDrizeChrome keyconfig?

vimでいう通常モードで使うブラウザ情強プラグインから入ればいいんではないかと。

(vim互換である必要はないと思う。そもそもvim互換って何だ?)

2011-01-28

Greasemonkeyが0.9になってLDRizeAutoPagerizeが動かなくなった

Greasemonkeyが0.9にアップデートされてから?かどうかは分からないけどAutoPagerizeLDRizeが動かなくて困った。

エラーコンソールを見たらVimperatorプラグインldrize_cooperation.js

                GreasemonkeyService = Cc["@greasemonkey.mozdev.org/greasemonkey-service;1"].getService().wrappedJSObject;
                this.addAfter(GreasemonkeyService,"evalInSandbox",function(code,codebase,sandbox){
                    if(sandbox.window.LDRize != undefined && sandbox.window.Minibuffer != undefined){

エラーになっていた。

greasemonkey.jsをみてみたら

  evalInSandbox: function(code, sandbox, script) {

で0.8のgreasemonkey.js

  evalInSandbox: function(code, codebase, sandbox, script) {

だった。

ldrize_cooperation.js

-                this.addAfter(GreasemonkeyService,"evalInSandbox",function(code,codebase,sandbox){
+                this.addAfter(GreasemonkeyService,"evalInSandbox",function(code,sandbox,script){

したAutoPagerizeは動くようになった

LDRizeはこれでもまだ動かない。Vimperatorを無効にしても同じ。

どうやらGreasemonkey 0.8ではMinibufferでのwindowとLDRizeでのwindowが同一のXPCNativeWrapperオブジェクトだったけど0.9では別のオブジェクトになったようだ。だからLDRizeでのwindow.MinibufferもundefinedになるしGM_MinibufferLoadedのイベントリスナーを設定してもwindowが違うから発行されないということみたい

ううむ

追記

0.9.0から0.9.1の間のこの変更が原因ぽい…

https://github.com/greasemonkey/greasemonkey/commit/6a4ffd52c90091714e6f49376ef07e2ce5009f79

2010-04-08

http://anond.hatelabo.jp/20100408190025

とっつき易いところだと、firefoxvimperator入れて操作に慣れてから、vimってのが良いかもしれんね。

まあ、PCに興味が無いとツラいだろうけど、emacsに何回か挑戦する位の気概があるならマスターできると思うぜ。

http://anond.hatelabo.jp/20100407183029

別にマウスゼスチャ死ねまで思わんけど、ファイラーzsh使って、ブラウザvimperatorエディタemacsvim使えばマウス使わんで快適ではある。

もちろんキーボードHHKBな。

2010-01-08

yourfilehostを快適に

vimperatorを入れているのが前提で,


javascript <<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

を.vimperatorrc追記.

3つ以上見たら,これ.

2009-02-25

一年

http://anond.hatelabo.jp/20070709151106

このエントリ一年上前自分が書き込んだエントリ

前に自分が書いたエントリぼんやり眺めていたら見つけたよ。



あれから大学卒業してWeb系のベンチャー就職。もうすぐ一年になる。あと一ヶ月ほどで後輩とか出来るらしいよ。

会社に入って最初の仕事linux系のOSインストールだったよ。その後はネットワークの設定。

DNSルータスイッチの設定、ネットワークの構築も未熟ながら出来るようになったよ。

vimってすごいよね。最初は入力すら出来なかったけど、今やfirefoxvimperatorを入れて、タブバーさえ消してしまう始末さ。

インストールだって「このバイナリ動かないじゃん、ソースから入れた方が早いな」とか言っちゃうよ。なんならMakefileまでいじっちゃうぜ。

あと、プログラミングにはフレームワークっていう便利なものがあるんだよ。



成長のレベルはともかく、成長を実感できるってのは楽しいね。

2009-01-21

http://anond.hatelabo.jp/20090121191132

Tab Mix Plus

https://addons.mozilla.org/ja/firefox/addon/1122

Tab Mix Plusオプションから

イベント→タブを閉じる→現在のタブを閉じたとき、フォーカスを...ここで選択...タブに移す。

ってなってるんで、直右でも直左でも先頭でも最後尾でも直前のタブでも選べるはず。

けんどもまあ、マウスジェスチャー使ってないなら個人的にはVimperatorおすすめ

2008-12-23

vimperatorってコピペも出来ないし最低

タイトルも取れないし。上級者はSleipnirでしょ。

2008-08-03

ニコニコ動画を快適化するvimperator設定まとめ

.

8/27追記

本記事末尾のローカルkey mappingを実現するコードを改良してプラグインにしました。

Vimperatorローカルkey mappingを実現するプラグイン local_mappings.js を書いた。

http://anond.hatelabo.jp/20080826124641




まずnicontroller.jsを入れる。

2008-07-14 - やぬすさんとこの日記

http://d.hatena.ne.jp/janus_wel/20080714

→n秒後/前に移動するkey mappingも忘れずに!


vimperatorrcにこれを書く。

Re: autocmd が分からない - hogehoge

http://d.hatena.ne.jp/teramako/20080731/p1

コードをいじった。

" --- autocmd ---

" nicovideo
" cでコメント入力、Cでコマンド入力、sでシーク、lでボリューム調整、
" pで停止/再生、mでミュートのon/off、vでコメの表示トグル、zでズームjavascript <<EOM
liberator.plugins.nicomap = function(){
  // no args
  var list=[
    ["p","nicopause"],
    ["m","nicomute"],
    ["v","nicomementvisible"],
    ["z","nicosize"],
    ["s","nicoseek"],
  ];
  // has args
  var list2=[
    ["c","nicomment"],
    ["C","nicommand"],
    ["l","nicovolume"],
    ["s","nicoseek"],
  ];
  if(buffer.URL.indexOf("http://www.nicovideo.jp/watch") == 0){
    for (var j=0; j<list.length; j++){
      let i = j;
      liberator.mappings.addUserMap([1],[list[i][0]],list[i][1],
        function(){
          liberator.execute(list[i][1]);
        },{
          rhs:":"+list[i][1]+"<CR>"
        }
      );
    }
    for (var j=0; j<list2.length; j++){
      let i = j;
      liberator.mappings.addUserMap([1],[list2[i][0]],list2[i][1],
        function(){
	  liberator.execute('normal :'+list2[i][1]+'<Space>');
	},{
	  rhs:":"+list2[i][1]+"<Space>"
	}
      );
    }
  } else {
    for (var i=0; i<list.length; i++){
      liberator.mappings.remove(1,list[i][0]);
    }
    for (var i=0; i<list2.length; i++){
      liberator.mappings.remove(1,list2[i][0]);
    }
  }
};
liberator.autocommands.add('LocationChange','.*','js liberator.plugins.nicomap()');
EOM

フォーカスプレーヤーに奪われないようにするグリモン

2008-08-02 - 地獄の猫日記

http://d.hatena.ne.jp/nokturnalmortum/20080802#1217633913


→→これで超快適すぎるニコライフの幕開け!

.



補足

現在マウスカーソル位置でクリックイベント発生するkey mappingを設定できればより快適なんだが・・・。

(「コメントする」ボタンDOMノードが取得できれば、dispatchEventでいけそうだけど)



追記: ちょっと改良してみた。
" ************* local key mappings ****************
javascript <<EOM
 (function(){
function setlocalmap(obj){
    var list = obj.list;
    var list2 = obj.list2;
    var exp = obj.exp;
    if(list.constructor != Array || list2.constructor != Array){
      echr("invalid argument: array argument required");return;
    }
    if(exp.constructor != RegExp){
      echr("invalid argument: regex argument required");return;
    }
    if(exp.test(liberator.buffer.URL)){
      for (var j=0; j<list.length; j++){
        let i = j;
        liberator.mappings.addUserMap([1],[list[i][0]],list[i][1],
          function(){
            liberator.execute(list[i][1]);
          },{
            rhs:":"+list[i][1]+"<CR>"
          }
        );
      }
      for (var j=0; j<list2.length; j++){
        let i = j;
        liberator.mappings.addUserMap([1],[list2[i][0]],list2[i][1],
          function(){
  	  liberator.execute('normal :'+list2[i][1]+'<Space>');
  	},{
  	  rhs:":"+list2[i][1]+"<Space>"
  	}
        );
      }
    } else {
      for (var i=0; i<list.length; i++){
        liberator.mappings.remove(1,list[i][0]);
      }
      for (var i=0; i<list2.length; i++){
        liberator.mappings.remove(1,list2[i][0]);
      }
    }
}
/** 
 * Add Key Mappings to Specific Web Pages
 * @param obj : has following properties
 *  list : commands that take no args
 *  list2 : commands that take args
 *  exp : target page's URL (regex)
 * @see Re: autocmd が分からない - hogehoge
 * http://d.hatena.ne.jp/teramako/20080731/p1
 */
liberator.plugins.addLocalUserMap = function(obj){
  liberator.plugins[obj.name + "MapSetter"] = function(){
    setlocalmap(obj);
  }
  liberator.autocommands.add(
  	'LocationChange', '.*', 'js liberator.plugins.' + obj.name + 'MapSetter()'
  );
};

// nicovideo
// cでコメント入力、Cでコマンド入力、sでシーク、lでボリューム調整、
// pで停止/再生、mでミュートのon/off、vでコメの表示トグル、zでズーム。
var nicovideo = {
	name : 'nico',
	exp : /^http:\/\/www.nicovideo.jp\/watch/,
	list : [
	    ["p","nicopause"],
	    ["m","nicomute"],
	    ["v","nicomementvisible"],
	    ["z","nicosize"],
	    ["s","nicoseek"],

	],
	list2 : [
	    ["c","nicomment"],
	    ["C","nicommand"],
	    ["l","nicovolume"],
	    ["s","nicoseek"],
	],
};
liberator.plugins.addLocalUserMap(nicovideo);
})();
EOM

2008-07-30

ヌルいviユーザなのにvimperatorを入れてしまった

  • 再起動して正直あせった
  • :set guioptions+=mTして落ち着くもブックマークツールバーが出ない
  • つか直打ち+補完でいいか
  • なんとなくgしたくなるのはlynx
  • :bmarksしてみたけど正直ヤバイ
  • そのためのSBM
  • つかブックマークレットどうしよう
  • しかし検索はしやすくなった
  • でもやっぱりかな漢字変換
  • 思わずbしちゃうのはlessか
  • しかしfは便利かもしれない
  • なんて書きつつfで「確認する」ボタンが押せない悲しさ
  • やっぱりスペース使うと思わずbしちゃう悲しさ
  • しかしC-bとかC-hとか正直どげんかせんといかん
  • でbはどうしようかね

2008-07-18

vimperator最高

ほんとにもう最高。

楽したい人間+ハマり性な人間には、こーゆーカスタマイズがしがし出来るツールが最高なのよ。

オレ流ブラウザ環境整備できるのももうタマラン。


エディタならvimemacsでもいいけど、あんまり詳しくない。

他のツールはカスタマイズ性で見劣りする。


こだわりのない人間にはどんなツールでもオッケーなんだろうね。

オレはこだわるところはこだわる。

ちょっとした不便に気づかないか気づいても甘受してしまうような人間と、今はクリアできなくともなんとか今後の課題にしたいと考える人間。

そこの違いだね。

どっちが得かというのはわからんけどね。

優劣とか損得の問題じゃなく、ただオレはそういう人種だってこと。




追記

ブクマありがとう

vimperatorrcねえ。特筆すべき点はないけど、あえて一部抜粋すれば、こんな感じ。

inoremap <C-1> <Esc>1gt
inoremap <C-2> <Esc>2gt
inoremap <C-3> <Esc>3gt
inoremap <C-4> <Esc>4gt
inoremap <C-5> <Esc>5gt
inoremap <C-6> <Esc>6gt
inoremap <C-7> <Esc>7gt
inoremap <C-8> <Esc>8gt
inoremap <C-9> <Esc>9gt
noremap <BS> H
noremap <S-BS> L
noremap ,b <Esc>:bmarks -tags=
noremap u :o<Space> " ldrc+ldrでoで:open出来ない問題を解決
" wildoptions=auto時に一瞬補完が表示されてウザいmapがある - Dis Communication - 符号無し
" http://unsigned.g.hatena.ne.jp/Trapezoid/20080620/1213961754
javascript <<EOM
[
    [',a',':dialog addbookmark'],
    [',c',':viewSBMComments -t h'],
    [',C',':viewSBMComments -t hdl'],
    [',d',':pindownload'],
    [',ld',':set ldrc'],
    [',p',':mb clear-pin'],
    [',q',':toggleldrc'],
    [',R',':so ~/_vimperatorrc'], 
    [',r',':res'],
    [',v',':!vim ~/_vimperatorrc'], 
    ['\\s',':scrapbook'],
    ['\\S',':scrap'],
    ['\\f',':firebug'],
    ['\\d',':dialog downloads'],
    ['\\p',':tabopen chrome://browser/content/places/places.xul'],
    ['!',':set invum'],
    ['B',':ls!'],
    ['\\a',':addons'],
    ['\\e',':errorconsole'],
    ['\\F',':firebugwindow'],
    ['\\d',':dialog downloads'],
    ['\\g',':oepnGMpanel'],
    ['\\G',':toggleGM'],
    ['e',':note'],
    ['<F11>',':fullscreen'],
    ['\\P',':placesnewwin'],
    ['\\H',':historynewwin'],
    ['<C-j>',':togglebookmarksidebar'],
    ['<C-k>',':togglehistorysidebar'],
    ['<C-l>',':addtoldr'],
    ['<C-S-Right>',':removerighttabs'],
    ['<C-S-Tab>',':previousfirebugtab'],
    [',o',':openselectedlinks'],
    [',3',':copy titleAndURL'],
    [',ig',':imageGet'],
    [',io',':imageOpen'],
    ['w',':submit'],
    [',lo',':logout'],
    // nicontroller.js
    [',ni',':nicoinfo'],
    [',np',':nicopause'],
    [',nm',':nicomute'],
    [',nv',':nicommentvisible'],
    [',nz',':nicosize'],
    [',ns',':nicoseek'],
].forEach(function([key,command]){
    liberator.mappings.addUserMap([liberator.modes.NORMAL], [key], "User defined mapping",
        function () { liberator.execute(command); }, {rhs: key, noremap: true});
});
EOM

javascript <<EOM
[
    ['<C-j>',':togglebookmarksidebar'],
    ['<C-k>',':togglehistorysidebar'],
].forEach(function([key,command]){
    liberator.mappings.addUserMap([liberator.modes.INSERT], [key], "User defined mapping",
        function () { liberator.execute(command); }, {rhs: key, noremap: true});
});
EOM
javascript <<EOM
// nicontroller.js plugin
// [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

Vimperatorで;bでリンクを新しいバックグラウンドのタブに開くようにする。

http://anond.hatelabo.jp/20080709195527

も俺の仕業なんだけど、これvimperator本体に実装してくれないかな。


気になる点・これからの課題

窓の杜 - 【NEWSFirefox 3のスマートロケーションバーに対応した「XUL/Migemo

http://www.forest.impress.co.jp/article/2008/07/07/xulmigemo0105.html



余談

Index of /

http://vimperator.driftaway.org/

に上がるのはたいてい朝の07:30になっているので、いつからかチェックするのが朝の習慣になった。

2008-07-09

Vimperatorで;bでリンクを新しいバックグラウンドのタブに開くようにする。

8/18追記

vimperator2.0preから;bが実装されたので、本記事は意味をなさなくなりました。




Windows+Firefox3で確認。


hints.jsのprocessHints()に

            case "b": liberator.buffer.followLink(elem, liberator.NEW_BACKGROUND_TAB); break;

を追加。7/4のバージョンだと336行目だった。


hints.jsのreturn部のshowメソッドの最初の行にbも含める。

            if (mode == liberator.modes.EXTENDED_HINT &amp;&amp; !/^[;?asoOtTvVwWyYb]$/.test(minor))

638行目だった。


buffer.jsのreturn部のfollowLinkメソッドを

                case liberator.NEW_TAB:
                    newTab = true;
                    break;
                case liberator.NEW_BACKGROUND_TAB:
                    newWindow = true;
                    newTab = true;
                    break;

のように変更。

これでCtrl+Shift+クリックが可能に。


Macだと新しいバックグラウンドのタブに開くキーバインドが違うからうまくいかないかも。


@see http://www.y-adagio.com/public/standards/tr_dom2_events/events.html のinitMouseEventメソッドの引数の説明。

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:13件)