〜2014年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のような名前が設定されている。
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 ⸛ ⸛ & ⁂ @ 。 \ /& ⁂@ ⁂ ⸮@ @⸮ ⁂ 。 ⸮&⁂⸮ 。 ⸮ ⸮ \ ^^^^^^^^^^^^^^^^^^^| |^^^^^^^^^^^^^^^^^^^ | |
結構やるね。
そうなるとchromeの終了もなかなか終わらず数分ぐらいプロセスと残ってしまう。
たぶん拡張のどれかが原因だと思い、まずはセーフモードでと
% google-chrome --disable-extensions
で起動してみたら重くならなかった。やはり拡張が原因か。
とりあえずほとんどの拡張を無効にして、
1個ずつ適当なタイミングで有効にしているわけだけど、
これが結構時間がかかるので、なかなか該当する拡張にぶち当たらない。
まあ気長に。
ぐぐってたら
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だけか。
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して使ってる。
まだわからんが、なかなか特定が難しい。
しかしこれをやめられるかどうか。
userscriptを拡張にしちゃう手もあるか。
いつもPocketではqueue形式じゃなくてlist形式で使ってんだけど、
いつの間にかqueue形式になってることがあって変だなと思ったら、
キーボードショートカットにCTRL+1とかが加わっていた。
ChromeでCTRL+1はタブの1番目という感じに設定しているので、
CTRL+1を押せばタブの1番目に移動するが、
裏ではqueue形式(機能的にはHome)へ移動していたらしい。
見えないから何がどうなってるのかしばらくわからなかったよ。
外してみると何に使っていたかわからないくらいであった。
どうしても必要なuserscriptってのに今後気づいたら対処しよう。
ちょっと驚いた。bashで何げなく
$ ls file:///ho<TAB> $ ls file:///home/
とタブ押したら補完された!
file:をちゃんと認識してるかと思ったが、foo:でもいけてしまった。
つまりfile://のあたりは無視されているだけだった。
まあ、その適当さのおかげで便利になっているようで。
zshではそんな挙動にはならないので、自分でなんか書かないとできないんだろう。
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を多用するのでうれしい機能だ。