Yokohama.vimの行削除のスライドみてて、オペレータが入力されたら、その行から相対的行番号を一時的に左側に表示すればいいんではないかと思った。Vimスクリプトでそんなことできるかどうかは知らんけど。
https://twitter.com/m2ym/status/25606822787
という話があったので, Vimpulseでやってみた.
続きを読むYokohama.vimの行削除のスライドみてて、オペレータが入力されたら、その行から相対的行番号を一時的に左側に表示すればいいんではないかと思った。Vimスクリプトでそんなことできるかどうかは知らんけど。
https://twitter.com/m2ym/status/25606822787
という話があったので, Vimpulseでやってみた.
続きを読むというか、Emacsだとうまく文節ごとに削除してくれたりするんだろうか。それだったらすごいな。
http://twitter.com/tyru/status/19890157313
という話があったので, どうなっているか調べてみた. まず移動に関して, Emacsの単語移動コマンドforward-word/backward-word (M-f/M-b)は, 日本語の場合は文節(のようなもの)に働くらしく, 動作を見る限りは, 漢字の連続+ひらがなの連続をひとまとまりと見なしている感じ. 完全な文節ではないけれど, カーソル移動の単位として用いるには問題ないレベル. 実際にどういう処理をしているのか調べようと思ったけれど, forward-wordはEmacs LispではなくCで書かれているようで, ソースコードを読むのは面倒なので諦めた.
続きを読む2年ちょっと前にC++で書いた非侵入的参照カウント方式のスマートポインタ実装を発掘した. スマートポインタの実装にはC++の様々なマニアックな実装手法が隠れていて面白い. せっかくなので, 解説つきで晒すことにした.
このスマートポインタはboost::shared_ptr (以下単にshared_ptr)相当のもので, 当時C++のコードを書かないといけない状況下で「boost使っちゃらめぇぇぇ!」とか言われたために, せめてshared_ptrだけでも抜き出して使おうとしたものの, 依存しているファイルの数が思ったより多くて面倒になったので, 1ファイルで完結する簡易実装を自分で書くことにした, という経緯で生まれたもの. 似たような状況では有用かも知れないし, shared_ptrのソースコードを読む助けにはなるかも知れないけれど, 基本的にはboostが使えるなら素直にshared_ptrを使うべき.
「非侵入的」については詳しく書かない. 参照カウント方式やそれ以外の方式についても含めて, スマートポインタの種類と動作について知りたければ, たとえば以下の参考文献を見ると詳しく説明されている.
続きを読むtextobj-between 書いた - 永遠に未完成のtextobj-betweenをEmacs+Vimpulseでも使えるようにしてみた.
続きを読むEmacsでviをエミュレートするViperを強化してVimをエミュレートするようにしたのがVimpulse. ここ最近開発が活発で, 設計もかなりスマートになって, ゆくゆくは本家Viperを置き換えることを目指すまでになっている. 入れる場合は最新版をgit cloneする.
ぼちぼち散歩 Vimでoperator-userを使って他のプラグインをoperatorとして使えるようにしてみたを見て, Vimpulseでもコメントアウト/アンコメントするoperatorがあったら便利そうなので作ってみた.
続きを読むいまさらながら, デザインをいじってみた. Hatena2-darkgrayを基本として変更.
続きを読む