2010-01-01から1年間の記事一覧

GNU screenのattach時に環境変数を自動的に引き継ぐ

GNU screenを使っていれば, 作業の途中でログアウトするときにdetachしておいて, 作業を再開するときにattachすれば, 作業途中の端末の状態がそのまま維持されるのでとてもべんり. たとえば, 最初作業していたのとは別のホストからsshでログインしてattachな…

Yet another icomplete

icompleteの縮小版のようなものを作った.

オペレータが入力されたら相対行番号を表示

Yokohama.vimの行削除のスライドみてて、オペレータが入力されたら、その行から相対的行番号を一時的に左側に表示すればいいんではないかと思った。Vimスクリプトでそんなことできるかどうかは知らんけど。 https://twitter.com/m2ym/status/25606822787 と…

マルチモニタ環境でウィンドウが画面外にはみ出すのを防止

最近はディスプレイも安いので, ディスプレイを複数台並べて広い作業環境を確保している人も多いはず. うちの自宅環境も, 24インチワイドディスプレイの隣に21.5インチワイドディスプレイを縦置きにしている. 縦置きする理由は, Webブラウザを最大化表示して…

auto-fu.zshでコマンドを確定するときに不完全な補完サフィックスを無視する

zsh

auto-fu.zshのちょっとした改善.

Emacs (Viper/Vimpulse)で日本語の文節を扱う

というか、Emacsだとうまく文節ごとに削除してくれたりするんだろうか。それだったらすごいな。 http://twitter.com/tyru/status/19890157313 という話があったので, どうなっているか調べてみた. まず移動に関して, Emacsの単語移動コマンドforward-word/ba…

スマートポインタのつくりかた

cpp

2年ちょっと前にC++で書いた非侵入的参照カウント方式のスマートポインタ実装を発掘した. スマートポインタの実装にはC++の様々なマニアックな実装手法が隠れていて面白い. せっかくなので, 解説つきで晒すことにした.このスマートポインタはboost::shared_p…

Emacs (Vimpulse)でtextobj-between

textobj-between 書いた - 永遠に未完成のtextobj-betweenをEmacs+Vimpulseでも使えるようにしてみた.

Emacs (Vimpulse)でtext-objectでも使えるコメントアウトoperator

EmacsでviをエミュレートするViperを強化してVimをエミュレートするようにしたのがVimpulse. ここ最近開発が活発で, 設計もかなりスマートになって, ゆくゆくは本家Viperを置き換えることを目指すまでになっている. 入れる場合は最新版をgit cloneする.ぼち…

ThinkPad X201 TabletをSSDに換装

購入時に選択できるSSDはとても高かったので, 320GB SATA HDDを選択して購入して, 後で自分でIntel X25-M SATA SSD 80GBに換装した.

このブログのデザインを変更した

いまさらながら, デザインをいじってみた. Hatena2-darkgrayを基本として変更.

auto-fu.zshを使う+キャンセルできるようにする

zsh

はてなブログを使ってみた. これはすごい!

我こそは無頼漢

新風館で地ビール祭があるというので腹も空かせたまま駆け付けてみると, 普段の夜の閑散とした物悲しさが嘘のように, ビールを飲む日本人と日本人以外のビールを飲む人々でごった返していた.

zshの履歴検索にanything.elを使う(ターミナル版)

anything.elを使ってzshの履歴検索をする - http://rubikitch.com/に移転しましたを参考に, ポップアップせずにターミナル内で動くようにしてみた.

複数のメジャーモードを文脈に応じて切り替え

multi-mode.elを使うと, 一つのバッファ内で文脈に応じてメジャーモードを切り替えることができる. けれど, カーソル位置を受け取って, 切り替えるべきメジャーモードとその有効範囲を返す関数を定義しないといけなくて, 使い方が難しい.そこで, 開始・終了…

最小限のJavaで素数を列挙(Javaで無限リスト)

以前書いた「ラムダ計算基礎文法最速マスター」では, ラムダ計算に自然数やデータ構造, 条件分岐, ループが用意されていないため, これらをラムダ項を使って模倣する方法を紹介しました. このようなことはどんなプログラミング言語でも起きうることで, たと…

はてなグループ日記でプレゼンモード

はてなグループのキーワードで使えるプレゼンモードはちょっとしたスライドを作るときにとてもべんり. でも, はてなグループを無料で使っているとキーワードはパブリックになってしまうので, あんまり馬鹿なスライドを作って公開してしまうわけにもいかない.…

Emacsサーバを適切に終了する

emacs --daemon でサーバを起動しておいて, 複数のターミナルウィンドウから emacsclient -nw することで, ターミナルモードでも単一のEmacsプロセスで複数フレームの編集ができる. これはとてもべんり. でもごく稀にサーバを再起動したいことがあって, kill…

JavaScriptで読む「ラムダ計算基礎文法最速マスター」

以前書いた「ラムダ計算基礎文法最速マスター」(以下「最速マスター」)は, 予想以上に多くの人に興味を持ってもらえたようですが, 同時に難しくてわからなかったという人も多かったようです. 反響から察するに, 構文を見慣れていない(と錯覚してしまう)こと…

GNU screenのウィンドウタイトルを自動設定

screenで開いているウィンドウの数が増えてくると, どれがどれだったか分からなくなってくる. かと言って, いちいちウィンドウに名前をつけるのも面倒. いまいるディレクトリや, 起動しているプログラムに応じて自動的に名前がついて欲しい.zshを使っている…

ラムダ計算基礎文法最速マスター

ラムダ計算は, 多くのプログラミング言語, とくに関数型言語の原形になっています. ラムダ計算について理解しておくことは, 多くのプログラミング言語の習得に役立つでしょう.ラムダ計算はチューリング完全で, 計算能力としてはふつうのプログラミング言語と…

imageLoaderをVimperatorから使う+α

d:id:tomo_snowbug:20090619:1245430454 のimageLoaderというGreasemonkeyスクリプトがなかなか素晴しいので, Vimperatorから使えるようにするついでに機能拡張してみた.

zshでvcs_infoを省略しながら表示

zsh

Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blogを原形にして, 表示を工夫してみた. 主にgitを使っているのでgitの場合はVCS名は表示しない svnの場合はリビジョンが表示されることで識別で…