Evil: EmacsをVimのごとく使う - 拡張編

Roads? Where we're going we don't need roads. Back to the Future Evilの真髄はその拡張性です. 本稿では主にチュートリアルを通して, Evilを拡張する方法を解説します.

Evil: EmacsをVimのごとく使う - 設定編

Then you will see, it is not the spoon that bends, it is only yourself. The Matrix EmacsあるいはVimに慣れ親しんでいれば, Evilを使うのにある程度は勝手がわかるものの, 逆にしっくりこない点も多いでしょう. EvilはEmacsの機能との相互運用性を重視…

Evil: EmacsをVimのごとく使う - 導入編

You underestimate the power of the dark side. Star Wars: Episode VI - Return of the Jedi EmacsはLispで自由自在に拡張でき, エディタの枠におさまらず, コンピュータ上でのあらゆる創造的活動のための環境として発達してきました. しかし, 少なくとも…

はてなダイアリーにEmacsから投稿

Emacsからはてなダイアリーに投稿できるようにする試みはやり尽くされている感じがするけれど, 古すぎたりどうもしっくりこなかったりしたので, 自分で一から実装した.

ノートPCでLinuxの仮想化

いままではノートPCではWindowsを使ってきた. なんだかんだで使い慣れて*1いたり, あるいはハードウェア機能をフルに活かすためには他に選択肢が無かったりした. でも最近はペンタブ搭載機でもLinuxがふつうに動いたりするし, Windowsを使っていてもどうせ仮…

ペンタブノートPCでLinuxを使う

ThinkPad X201 TabletとThinkPad X220 TabletにLinux (Debian sid)をインストールして, なかなか快適に使えるようになってきたので備忘を兼ねて設定方法を書いておく.

Emacs上のターミナルを最強に: term+.el

第6回関西Emacs勉強会で, Emacs上で最強のターミナル(端末)環境を実現する話をしてきました. 以下がそのとき用いたスライドです. Emacs上のターミナルを最強に from Lintaro Ina このスライドだけでは, とりあえず使ってみるのではなく常用したい場合にどう…

Maybeに限らずJavaで直和型を実現できるか

JavaでMaybeを説明した以下の記事について, id:tozimaさんと某所*1でやりとりしていたら, 有益な話が出てきたのではないか, ということになったので, 紹介. *1:非公開なところ.

LaTeXでオブジェクト指向プログラミング

LaTeXのコマンドは複数の単語のものも一続きにしないと一つのシンボルと見なしてもらえないのが不便だったので, 名前空間が使えるというか, 記号で区切った後にサブコマンドを続ける書き方をサポートするものを作っていた. そうしたらいつの間にかオブジェク…

Emacsでプレフィックスキーにもコマンドを割り当てる

Emacsでは, たとえばC-c C-jにコマンドが割り当たっているとすると, C-cまで打った時点では入力待ちになる. 慣れてくるとC-c C-jは素早く打てて, C-cを押して次が何のキーだったか迷うようなことはなくなってくるので, C-cを押してしばらく(0.5秒とか)経った…

クロスドメインXHRのためのApacheプロキシ

web

XMLHttpRequestがsame origin policyに縛られているのをなんとかするためのプロキシをmod_proxyだけでやるという話.

C++のテンプレートでラムダ計算と型推論

C++のテンプレートを, コンパイル時に走るプログラムを記述するための言語だと思うと, この言語はチューリング完全なので, 当然ラムダ計算のインタプリタを実装できるし, そのラムダ計算の項の型を推論することもできる. できるからと言って馬鹿みたいにやっ…

Emacsで状態に応じてモードラインの色を変える

モードラインの色を自動的に切り替えるためのマイナーモードをだいぶ前に作ってあったので, 使用例とともに紹介.

Rubyで関数型プログラミング

Rubyでの快適関数型プログラミングライフを追求するあまり, 使えるのか使えないのかよくわからないものを作ってしまったという話. Rubyに不慣れな人や関数型プログラミングに不慣れな人に対して酷なのはまだわかるとしても, C++(というかboostでの関数型プロ…

Vimperatorのコマンドラインで自動的にIMEをオフにする

VimperatorのコマンドラインでIMEがオンになっていると, f等でヒントを選択できなくて困ることがある. 32ビットのWindows XPを使っていたときは, ime_controller.jsを使うことでコマンドラインや挿入モードでは自動的にIMEをオフにすることができたけれど, …

「当選確率が2倍に!」の解釈

「MacBook Air 11インチ欲しい!」のキャンペーンページに, はてなブックマークを使って当選確率UP!さらに、このキャンペーンページをあなたのはてなブックマークに追加すると、当選確率が2倍に!この機会にぜひはてなブックマークもご利用開始ください。※…

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/に移転しましたを参考に, ポップアップせずにターミナル内で動くようにしてみた.