EAGLE 雑記 このページをアンテナに追加 RSSフィード

Wed January 04, 2012

[] 補完リストの高さを調節したり表示・非表示をトグルしたり

例えば 'autocomplete' を有効にして :ec commandl と入力すると,:ec co の段階で多くの補完候補が表示され,そのときの高さを保ったまま :ec commandl の補完候補が表示された状態になる.

f:id:eagletmt:20120104064457j:image

これは特にページのコンテンツを見ながらコマンドラインを入力しているときに不便.かといって補完候補が変わる度に高さがかわるのも見にくい.

そこで,タイトルのようなキーマップを定義して適宜調節するようにしてみた.

mappings.addUserMap(
  [modes.COMMAND_LINE],
  ['<C-g>'],
  'Adjust height of completion list',
  function() {
    let list = commandline._completions.itemList;
    list._minHeight = 0;
    list._autoSize();
  });

さっきの状態から <C-g> を押すと,このように必要最低限の高さになる.

f:id:eagletmt:20120104064709j:image

また,<C-t> で補完リストの表示・非表示をトグルできるようにもしてみた.

mappings.addUserMap(
  [modes.COMMAND_LINE],
  ['<C-t>'],
  'Toggle visibility of completion list',
  function() {
    let list = commandline._completions.itemList;
    if (list.visible()) {
      list.hide();
    } else {
      list.show();
    }
  });

Mon February 07, 2011

[] コマンドラインproxy の設定をできるようにするプラグイン

コードの最初に怪しい英語での説明が書いてあるけど,ようは Edit -> Preferences -> Advanced -> Settings のとこにある設定を Vimperatorコマンドラインから行えるようにしたもの.

manual に設定したときの -ssl とか -no-proxy とかのオプションの扱いが適当なのでまずいところがあるかも.

自分が manual を使わないのでよくわからない…

http://code.google.com/p/vimperator-labs/source/detail?r=85e98ededcc43bb2df66ca1b004cf2ea7aff1f61

で入ったサブコマンドのサポートを利用しているので,現時点ではリポジトリからとってきてビルドした Vimperator じゃないと動かないです.


https://gist.github.com/814452

Sat December 04, 2010

[] / に関するバグ

ずっと気になっていたけれどもクリティカルじゃないためにすぐに忘れていた Vimperator の不具合があって,それは / で検索モード(?)に入って,<Up> で履歴を辿ってから <CR> で検索を実行しても直前の検索語で検索されてしまうというもの.

たまたまその現象に出会った後でそのことをつぶやいたところ anekos さんが気付いて直してくれた.ありがとうございます!

http://code.google.com/p/vimperator-labs/source/detail?r=439bb77f9383dd4c80391daf1f5395019470bff5

自分のように Firefox 4β を使っていないような人でも*1このパッチを当てることはできるので気になっている人は当ててみるといいのではないでしょうか.

*1:つまり Vimp 2.3, Vimp 2.4pre ユーザでも

Mon August 09, 2010

[] Twittperator 素敵

Vimperator からさくっと TL 見たりポストしたりするのに便利.

ちゃんと各種コマンドで補完もきくのでわりと使いやすい.

で,ちょっと不満な点があったので適当に書き足した.

まず home_timeline, user_timeline, mentions の各 API に count が指定できるといいなーということで,

let g:twittperator_home_timeline_count = 150
let g:twittperator_user_timeline_count = 100
let g:twittperator_mentions_count = 50

のように指定できるようにした.

それから個人的には各ポストの created_at も表示したかったのでそうした.

以下 rev 38229 に対する diff.

--- twittperator.js	Mon Aug  9 15:56:25 2010
+++ twittperator.js	Mon Aug  9 17:18:06 2010
@@ -1322,6 +1322,7 @@
         .twitter.entry-content { white-space: normal !important; }
         .twitter.entry-content a { text-decoration: none; }
         .twitter.entry-content.rt:before { content: "RT "; color: silver; }
+        .twitter.timestamp { white-space: normal !important; }
         img.twitter.photo { border: 0px; width: 16px; height: 16px; vertical-align: baseline; margin: 1px; }
     ]]></style>.toSource()
                .replace(/(?:\r\n|[\r\n])[ \t]*/g, " ") +
@@ -1340,6 +1341,8 @@
                 </a>
               </td><td class="twitter entry-content rt">
                 {detectLink(rt.text)}
+              </td><td class="twitter timestamp">
+                {(new Date(rt.created_at)).toLocaleString()}
               </td>
             </tr> :
             <tr>
@@ -1350,6 +1353,8 @@
                 </a>
               </td><td class="twitter entry-content">
                 {detectLink(status.text)}
+              </td><td class="twitter timestamp">
+                {(new Date(status.created_at)).toLocaleString()}
               </td>
             </tr>
             );
@@ -1403,14 +1408,15 @@
       if (target) {
         api = "http://api.twitter.com/1/statuses/user_timeline.json";
         query.screen_name = target;
+        query.count = setting.userTimelineCount;
       } else {
-        query = null;
+        query.count = setting.homeTimelineCount;
         if (setting.useChirp) {
           onload(history);
           return;
@@ -1427,7 +1433,7 @@
     });
   } // }}}
   function showTwitterMentions(arg) { // {{{
-    tw.get("http://api.twitter.com/1/statuses/mentions.json", null, function(text) {
+    tw.get("http://api.twitter.com/1/statuses/mentions.json", { count: setting.mentionsCount }, function(text) {
       showTL(JSON.parse(text).map(fixStatusObject));
     });
   } // }}}
@@ -1779,6 +1785,9 @@
       statusValidDuration: parseInt(gv.twitperator_status_valid_duration || 90),
       historyLimit: let (v = gv.twittperator_history_limit) (v === 0 ? 0 : (v || 1000)),
       showTLURLScheme: let (v = gv.twittperator_show_tl_with_https_url) ("http" + (v === false ? "" : "s")),
+      homeTimelineCount: let (v = gv.twittperator_home_timeline_count) (v === 0 ? 0 : (v || 20)),
+      userTimelineCount: let (v = gv.twittperator_user_timeline_count) (v === 0 ? 0 : (v || 20)),
+      mentionsCount: let (v = gv.twittperator_mentions_count) (v === 0 ? 0 : (v || 20)),
     });
 
   let statusRefreshTimer;

Thu May 06, 2010

[] コマンドラインで bang をトグル

なんか最近 Vimperator のことばかり書いてますね…


たまに欲しくなるので bang をトグルするキーマップを定義してみた.

例えば

:mr hoogle map

とかした後,やっぱり個別のページで見たいなと思って <C-x> すると

:mr! hoogle map

に切り替わる.

bang がついている状態で再び <C-x> すれば元の bang 無しの状態に戻る.

個人的には地味に便利だと思う.

commands.get(cmd).bang を見て真のときだけトグルするようにしてもいいかもしれないとこのエントリ書きながら思った.