| @技術/プログラミング

Vim で Emoji 補完したいと思ってプラグイン探したら見つかった。

GitHub のユーザー名とかリポジトリ名も補完してくれるっぽい。設定すれば Neocomplete と組み合わせて使える。

しかしこいつは自分の環境では単体では動かなかった。(補完用のデータの読み込みに失敗してるっぽい?)元になっている vim-emoji プラグインを入れたら動くようになった。

ユニコード絵文字表示できる環境では補完候補に Emoji が出てくる。

Terminal Vim

ユニコード絵文字を表示できない環境では日本語で Emoji の内容説明してくれる(要設定)。

Mac Vim

便利。

| @技術/プログラミング

US キーボードに使うようになってから、JIS キーボードでは単独で入力できるコロン(:)を打つときにシフトキー(Shift)押してないといけなくなった( Shift + の組み合わせでコロン : になる)。 .vimrc で : を入れ替える方法もあるらしいけど、なんとなく抵抗があってやってなかった。(Happy Hacking Keyboard Professional 2 を買った

それでよく起こるのが、ファイルを保存しようとしたときに Shit + を押してコマンドモードに入って w を押すと、 Shift が押されっぱなしの状態になっていて W となり保存できず警告メッセージが表示されてしまう現象や、終了しようとして Shift + ‘ => q したつもりが Shift + ‘ => Shift + q になっていて大文字の Q コマンドが実行されて Quickrun が実行されてしまう現象。プログラムを書いてるときにこういうのでつまずくとイラッとする。

:W:Q がそれぞれ小文字のコマンドと解釈されるようにすればいいわけなので、以下のように .vimrc に記述した。

" 大文字 W で保存
command W w
" Q で quickrun 実行しないように
command Q q

便利。

| @技術/プログラミング

Vimmabilityのなさ

TDD Boot Camp福岡で生まれて初めてペアプログラミングを経験した。自分のVimmabilityが思いの外低く焦った。書くの超とろいし、Rubyも全然分かってないしペア組んでもらった人に迷惑かけまくりな感じ。会社では誰もVimとか使ってなくてみんなEclipseとか秀丸使ってるし、周りにVimmerがいないので自分がどんなにしょぼいVim使いなのか気づいてなかった。

とりあえず今回、ペアを組んだ @mallowlabs さんに cw とか <数字>y とかを教えてもらった。あと

Vimでバックスペース使ったら負けだから

と言われてしまったのでバックスペースと矢印キーをなるべく使わずにプログラム書きたいと思います。でもTextMateとかCodaとか便利だからついつい使ってしまうんよね…。

プログラムが全然書けない

思ってたよりもプログラムができないことに気がついた。お題を与えられて、制限時間があるなかでコードを書いていかなければならない。しかもペアプログラミングなので一人でちんたら時間をかけて書くわけにもいかない。そしてやっぱ人に見られてると緊張する。Rubyの基本的なメソッドとかが分かってなくて教えてもらいながら書いてたけど、わからないと緊張してしまって頭が真っ白になって何も書けなくなる。いつもリファレンス本を片手にコードを書き捨てていたので、よくないなぁと思った。

というか、そもそも自分は仕事であまりコードを書いてないのだ。TDD Boot Campに来てる人たちはみんな公私ともにばりばりコードを書いててとても楽しそうだった。なんだかとても羨ましかった。

いろいろ考えないとなー、と思わせられた勉強会だった。

| @Mac/iPhone

ApplicationIcon.175x175-75.png (175×175)

MacVim で Markdown 形式で文章を書いて Marked.app でプレビューしてた。 Marked.app 、便利なんだけどリストのネストの解釈が GitHub とかの Markdown と違ってて、スペース 4 つ入れないといけないのがだるかった。あとコードのシンタックスハイライトも GitHub のに比べたら弱い。やはり GitHub Flavored Markdown で Markdown をプレビューしたい。

ここを読めばやり方が書いてある。

GitHub Flavored Markdown と互換にしたいなら結局 GitHub が使っていると公言している redcarpet と pygments.rb (と Python の Pygments )がいることになる。 Docter というその辺の gem をラップする Node.js 製のソフトを使えと書かれているけどいらないものは入れたくなかったので gem install pygments.rb redcarpet するだけにとどめた。

rbenv とか rvm でインストールした Ruby のバージョンで gem をインストールして使おうとすると失敗するらしいのであまり気が進まなかったけど sudo つけてシステムルビーにインストールした。

そんでもって同じ URL に書いてある Docter の Docter/bin/github-flavored-markdown.rb at master · alampros/Docter をパクってちょっと改変してから使うことにした。これをテキトーな名前で保存して chmod a+x する。

なんか HTMLwithPygments#header は引数三つ受け取れるようにしてないとエラーになるっぽい。あと style は Marked で当たるのでここで当てる必要なさそう。

Marked.app 側の設定で Custom Markdown Processor にチェックを入れてファイルのパスを指定すればオッケー。

Marked.app でも GitHub Flavored Markdown に近いかたちで Markdown のプレビューができるようになるのでドキュメント大量生成するしかないですね。

| @技術/プログラミング

最近 Emacs を触っていることもあってテキストエディター熱が高まっているので思いつきで社内で Vim 勉強会を開催した。

自分は最初はプラグインをいかに使いこなすかというところから Vim を使い始めて(Vim テクニックバイブル的 Vim の活用)、Emacs に手を出したことによる素の Vim の少ないキーストロークでの編集能力の高さ再発見(実践Vim的 Vim の活用)し、Vim の真骨頂は後者にあるのではないかとむさ苦しく語った。

準備不足で資料とか作れなかったのであまり意味わからない感じだったかも知れないけど、話をするために実践Vimを読んだり積ん読になっていたオライリーの Learning the vi and Vim Editors を読んだりして勉強のきっかけを作ることができて良かった。

自分の他に同僚の @monochromegane 氏が Unite.vim の上級活用法 (agとUnite.vimで快適高速grep環境を手に入れる - Thinking-megane)や、氏が EUC-JP/Shift-JIS 対応を進めている ag による Unite grep の高速化などについて話した。カーソル位置の単語で Unite grep する方法*1なんかが個人的には参考になった。Unite の設定とかはネットで拾った情報のコピペで済ませていたので、実際に目の前で解説してもらいながら使い方の設定をすることで新たな発見をすることができ、大変良かったと思う。

4月に勉強会がつらくなって Fukuoka.rb もやってなかったんだけど、またぼちぼち再開していきたいと思った。


*1 以下のようなコードだけどなぜか自分の環境だと期待した通りに動いてくれなくて、Pattern: というプロンプトが出て検索キーワードが確認できるはずなんだけど、何かキーを入力しないキーワードが表示されなくて不便な感じ。

" grep current word
nnoremap <silent> ,cg :<C-u>Unite grep:. -buffer-name=search-buffer<CR><C-r><C-w>

| @技術/プログラミング

最近プログラミングに飽きてきてると思う。なんかプログラマーになる前にやりたかったことはたいてい出来るようになってきた気がする。最近の流行の Chef とか Puppet とかを勉強したりもしてなくて、学ぶべきことは山ほどあるのに、マンネリ化した状態で無為に日々を過ごしてる感がある。きっと自分は日々の仕事から細々とした実践的知識を学んでばかりでちゃんと本を読んで勉強していないから飽きてきてるんだと思う。もっと本を読まないといけない。本を読まないといけないんだけど集中力がなくて本が読めない。なので刺激を求めて Emacs に再々々入門してみることにした。とりあえず vim で ~/.emacs を編集して Emacs 起動したときにエラーが出ないようにした。頑張ります。

| @雑談

会社の若者、夏期休暇期間中に徳を高めまくってた。

自分は徳が高まるようなことは特に何もしてない。コード書いてないしプログラミングの勉強もしてない。すこし .vimrc を触ったくらい。

実家に帰ったほかは、家を買おうとしてるので不動産屋に行ったり住宅メーカーに行ったりしてた。

プログラミングの本、『明解! Ruby』が読みかけになってるので読もうと思ったけど読まなかった。『SQL アンチパターン』も必要に迫られて買ったので夏期休暇で読もうと思ってたけど読めてない。

代わりと言ってはなんだけど歴史の本読み始めた。連休前に以下を買った。

大河ドラマとか見るときに日本史の知識ないと厳しいことがあるので Wikipedia 読むんだけど Wikipedia 読みだすと際限ない感じなるので本を買って歴史を勉強してみようと思っていた。丁度日経プラスワンの特集で紹介されてたので読んでみたくなって手に取った。Amazon でも評価高い。

あと夫婦げんかして家を飛び出して向かった天神のTSUTAYAで以下のような本を買った。

どれも古本なので安かった。『「芸能と差別」の深層』は三国連太郎の話が面白そうだったので買った。『夜這いの民俗学・夜這いの性愛論』を買うとき、レジが女の人じゃないなと良いなと思ったけど女の人になってしまって恥ずかしかった。結果的に痔ろうが再発した。