Just another Ruby porter,

〜2014年1月上旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2014-01-01 (Wed)

■ irbの補完を1回のタブで済ます方法

~/.irbrcに require 'irb/completion' と書いておけば補完できるが、
候補が複数ある場合はタブを2回押さないといけない。たとえば

% irb
irb(main):001:0> "hoge".u<TAB><TAB>
"hoge".unpack      "hoge".untrust     "hoge".upcase      "hoge".upto        
"hoge".untaint     "hoge".untrusted?  "hoge".upcase!     
irb(main):001:0> 

とこんな感じに。これを1回のタブを押すだけで候補を出すようにするには~/.inpurcに

set show-all-if-ambiguous on

と書いておけばいい。
ただinputrcなのでこのままではreadlineを使ってるソフトは全部そのような挙動になる。
bashとかgdbとか。Rubyの中だけで有効にするには~/.inpurcで

$if Ruby
  set show-all-if-ambiguous on
$endif

のように条件を指定する。アプリケーション毎にBash, Gdbのような名前が設定されている。


2014-01-02 (Thu)

■ aha - Ansi HTML Adapter

ahoってコマンドがあるとかないとか聞いて探したらなかったけど、ahaなんてコマンドが見つかった。
man見たらこれは面白い。エスケープシーケンスの色付きテキストをHTMLへ変換してくれるらしい。

さっそく先日のクリスマスツリーでやってみる。

% bash xmas.sh | aha -n > xmas.html

HTMLを表示するとこんな感じ。


                     ★
                    /\
                   / &\
                  /⁂ @ \
                 /⸮ ⸮。⸛i\
                /@    。 ⁂\
               /          \
              /⸮⸮   &  @&⁂ \
             / &     ⁂      \
            /⸛       &⁂ ⸮  ⸛ \
           / ⁂@   &    &⁂i &@。\
          /  ii  i@⁂⸮⁂& ⁂ 。⁂  @\
         / 。  ⁂ 。⁂。  ⸛⁂⸮⁂    ⸮⸛ \
        /   ⸛i   @ ⸮@⁂ ⸮ 。      ⁂\
       /。⸛   i & ⸛  i ⸛&i ⸮&& i。 ⸛\
      /⁂i⁂⁂&&i⁂   ⸛ 。   。  ⁂      ⸛\
     /         ⁂   i     @  。 。  @ &\
    /  ⸛ &⸛ @。   。 ⸮ & 。@  @ ⸮i&  ⁂  \
   /&。 ⸛  ⸮ @ 。  ⁂ 。⸮ &⸛⸮ i ⁂         \
  /@ ⸮& i   ⸛ ⸛  &         ⁂     @   。 \
 /&  ⁂@  ⁂ ⸮@ @⸮     ⁂ 。 ⸮&⁂⸮    。 ⸮  ⸮ \
 ^^^^^^^^^^^^^^^^^^^|  |^^^^^^^^^^^^^^^^^^^
                    |  |                   


結構やるね。


2014-01-03 (Fri)

■ chromeでopen/closeを繰り返すとだんだん重くなる

そうなるとchromeの終了もなかなか終わらず数分ぐらいプロセスと残ってしまう。
たぶん拡張のどれかが原因だと思い、まずはセーフモードでと

% google-chrome --disable-extensions

で起動してみたら重くならなかった。やはり拡張が原因か。
とりあえずほとんどの拡張を無効にして、
1個ずつ適当なタイミングで有効にしているわけだけど、
これが結構時間がかかるので、なかなか該当する拡張にぶち当たらない。
まあ気長に。


2014-01-04 (Sat)

■ Colored Man Pages

ぐぐってたら Linux / Unix: Colored Man Pages With less Commandてなページを見つけた。
ちょっといじって、こんな感じで設定してみた。

man() {
    LESS_TERMCAP_mb=$'\e[1;31m' \
    LESS_TERMCAP_md=$'\e[1;32m' \
    LESS_TERMCAP_me=$'\e[0m' \
    LESS_TERMCAP_se=$'\e[0m' \
    LESS_TERMCAP_so=$'\e[1;44;33m' \
    LESS_TERMCAP_ue=$'\e[0m' \
    LESS_TERMCAP_us=$'\e[4;36m' \
    command man "$@"
}

意外に使われてる色が少ない。
緑と水色しか出てこないってことはmanで使われてるのはmdとusだけか。


2014-01-05 (Sun)

■ numfmt

GNU coreutils 8.21からnumfmtという便利なコマンドが追加されている。
最近は-h(--human-readable)オプションが使えるコマンドが増えてるが、
すでに数値になっちゃってるものはもうどうしようもない。
そこでnumfmtだ。

% echo 123456789 | numfmt --to=iec
118M
% echo 123456789 | numfmt --grouping
123,456,789

のように変換できる。便利すぎる。

ただUbuntu 13.10ではまだ8.20なので使えない。
しかたないのでnumfmtと seqは自分でmakeして使ってる。


2014-01-06 (Mon)

■ Chromeが重くなる原因はTampermonkeyか?

まだわからんが、なかなか特定が難しい。
しかしこれをやめられるかどうか。
userscriptを拡張にしちゃう手もあるか。


2014-01-07 (Tue)

■ Pocketのショートカットキー

いつもPocketではqueue形式じゃなくてlist形式で使ってんだけど、
いつの間にかqueue形式になってることがあって変だなと思ったら、
キーボードショートカットにCTRL+1とかが加わっていた。
ChromeでCTRL+1はタブの1番目という感じに設定しているので、
CTRL+1を押せばタブの1番目に移動するが、
裏ではqueue形式(機能的にはHome)へ移動していたらしい。
見えないから何がどうなってるのかしばらくわからなかったよ。


2014-01-08 (Wed)

■ Tampermonkeyなしでも不便でなかった

外してみると何に使っていたかわからないくらいであった。
どうしても必要なuserscriptってのに今後気づいたら対処しよう。


2014-01-09 (Thu)

■ bashでfile:///補完?

ちょっと驚いた。bashで何げなく

$ ls file:///ho<TAB>
$ ls file:///home/

とタブ押したら補完された!
file:をちゃんと認識してるかと思ったが、foo:でもいけてしまった。
つまりfile://のあたりは無視されているだけだった。
まあ、その適当さのおかげで便利になっているようで。
zshではそんな挙動にはならないので、自分でなんか書かないとできないんだろう。


2014-01-10 (Fri)

■ GNU grep 2.16

Freecodeでは2.16となってるが、実際は 2.15からの機能。
単に2.15を飛ばしちゃったからだと思われる。

Release Notes:
"grep -P" can now use a just-in-time compiler to greatly speed up
matches, assuming proper support from PCRE. Several multi-byte issues
where resolved. Handling of very long lines on systems with a deficient
read system call was improved.

結構-Pを多用するのでうれしい機能だ。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!