2011年4月25日月曜日

普通のVim使いのYokohama.vim #1感想

タイトル通り、Yokohama.vim #1に参加してきたので、その感想です。
ちなみに、詳細な感想については他の人たちがもっと優秀なまとめを書いてくれるので省略します。

・Vim Levelでシャッフルと自己紹介
今回のVim Levelシャッフルはあまり意味がなかったような……。グループ分けはなし。
なぜか私が一番レベル高いということになってしまったし。
ぼくはふつうのVimつかいです。
もしkanaさんが来てくれていたら、kanaさんはおそらくLvが9~10なので、一番レベルが高かったはずなんですけどね。
あのレベル分けはネタなので、もっと良いレベル分けの方法があると良い、という話をthincaさんとしました。

時間がそれほどないということで、自己紹介はテーブル毎。偶然ですが、るびきちさんと同じテーブルになれてよかったです。

・「ふつうのVim使いの開発環境」
私の発表です。資料はこちら
実はお流れになった開発環境勉強会用のスライドを発表する予定だったのですが、
開発環境勉強会がいつ開催されるかよく分からなかったので、予定を変更して自分の開発環境晒しにしました。
本来はよくある地味な発表なんですが、それでは詰まらないと思ったため
いくつかネタを仕込んだり、開発における裏話もしました。

・「るびきちさんとの対談」
残念ながら、ここはustなしで参加者だけの特別セッション。使用しているエディタの枠を越え、二人でかなり盛り上がりました。
ただ、他の人は置いてきぼりになってしまったような。
るびきちさんと私の考えがかなり似かよっていて面白かったです。
開催者のguyonさんには、時間をオーバーしてしまって済みません。
実はkanaさんも含めて、三者対談というのをやりたかったんですけど。
内容については、#yokohamavimのTweetや他の人の感想を見れば大体分かるかと。
残念ながら、聞けなかったそこのあなたも大丈夫。実はこの対談は……。以下続報を待つように。

休憩を挟んで、

・VimとEmacsユーザー交流セッション
ここも実はるびきちさんと議論を交わしていました。
あまり真面目に回答していないけど、あれで良かったのだろうか……。
みんなの回答のまとめは、おそらくguyonさんがしてくれると思うので、楽しみに待ちましょう。

・Vim Golf
実は私Golfぜんぜんできないんです。なぜかというと、素のVimだと発狂するから。
Golfは他の人に任せます……。
記念品として貰った、Yokohama.vimのノベルティが格好良かったですね。

・懇親会
るびきちさんが参加してくれなかったのは残念だったのですが、私を含めて十数人の方が参加してくれました。
前回はたった6人だったので大きな進歩。
こちらとしても、thincaさんのvcs.vimを見れたり、
snippets_completeに要望を貰ったりとなかなか得るものがありました。

・総括:
るびきちさんが来てくれたのもありますが、かなり充実した一日を過ごすことができました。
会場のセッティングと司会進行をしてくれたguyonさん、ありがとうございます。
機会があれば、またるびきちさんといろいろ話をしたいですね。
ちなみに、開発環境勉強会で使う予定だったスライドは5月のujihisa.vimで使用する予定です。お楽しみに!

2011年4月18日月曜日

Software Design 2011年5月号レビュー&感想

今回久しぶりにレビューするのはSoftware Design 2011年5月号です。Vim&Emacs特集ということで、ついカッとなって購入してしまいました。後悔はしていません。
しかし、最近雑誌を購入するのはエディタ特集のときだけ……。

第一章


基本的な話なので省略。

第二章


findの使い方が載っているのは良いですね。あまり使わないとよく引数を忘れます。procの説明もあって、あれ? この特集ってエディタの話が主だったはずじゃ……。

第三章


サーバ管理とファイル編集の話。エディタの話が全然でてきません……。

第四章


ここはようやくVimの話。ということで、詳しいレビュー(というか正誤表?)をお送りします。

Vim基本編



P.45
「某OS付属のチープなエディタ」……「メモ帳」ですね。分かります。

「分割したウィンドウを閉じるのは「:q」コマンドです」……まぁ、間違ってはいないですが、:closeのほうが良いと思います。:qだと、ウインドウが一個のときに終了してしまうので。おそらく、:closeは冗長だから:qを紹介したんでしょうね。:qは、「ウインドウが一個のときは終了、そうでないときはアクティブなウインドウを閉じる」という動作をします。ちゃんと説明すれば混乱することはないと思いますが、初心者には分かりにくいかもしれません。

P.46
リスト1……nmapを使ってはいけません。nnoremapを使いましょう。nmapだと、キーマッピングが展開されてしまいます。例えばkanaさんのように、: -> ; とキーをマッピングしている場合に問題が発生します。nmapとnnoremapの違いを理解している人は少ないので注意が必要です。
:bpよりは、:bprevious, :bnよりは、:bnextのほうが良いと思います。.vimrcに書くときはできるだけコマンドを省略しないようにしましょう。

修正例:

nnoremap <C-p> :bprevious<CR>
nnoremap <C-n> :bnext<CR>

Vimプラグイン編:
紹介されているのは、surround.vim, NERD_commenter.vim, unite.vimです。ちなみに、unite.vimが雑誌で紹介されるのは初めて!


unite.vim
私の書いたプラグインなので、ここは詳しくフォローしておきます。
unite.vimはgithubにもありますが、vim.orgにもあります。ただし、vim.orgにあるのはまだ古いバージョンのため、githubの紹介しておいたのは正解でしょう。できれば、git cloneで取ってくる部分の解説があると良かったですね。

-buffer-nameに関する解説がないのはちょっと致命的です。ファイルやバッファ系のsourceを指定する場合は、:Uniteの引数に-buffer-name=filesとしないと、~が展開されません。人によってはひどく不便になる可能性があります。

この特集では、unite.vimのsourceが一つしか指定されていません。これでは機能がFuzzyFinderやku.vimとあまり変わらず、unite.vimの特徴が生かせません。sourceを複数指定して横断検索できることを触れておくと、良かったと思います。

細かい部分ですが、unite.vim, unite, Uniteと表記が揺れているのが気になります。ちなみに正式名称は検索しやすいように、unite.vimです。

第五章


ようやくEmacs特集です。初心者向けのレスキュー技が細かく書かれているのがすごく印象的でした。こういう記事は今まで見たことがなかったので。Emacs使ってみたけどよく分からなくなってしまった初心者には役立つ記事でしょう。Emacsからのシェルの起動ということで、M-x terminal-emulatorが紹介されていました。個人的には、M-x terminal-emulatorよりはM-x ansi-termやM-x multi-termの方が一般的かな、と思います。この章で一番驚いたのは、井上さんがeshell使いだったことです。私もvimshellを開発しているので、eshellの良さはよく分かります。最近るびきちさんもeshellに乗り換えたようですし、eshell界隈が熱くなってきましたね。

第六章


端末使用時のトラブルシューティング的な章。Windowsでtelnetからのリモートログインのやり方が載っていたのは、ちょっと珍しい記事だと思いました。

結論


Vimの部分は思っていたよりもよく書けていました。unite.vimが初めて雑誌に紹介されていたのも嬉しいです。Emacsの解説は比較的少なかったのですが、「Emacsトラノマキ」が最近レベルが高くなってしまっているので、初心者に配慮したのでしょう。エディタ好きなら買うしかない号だと、私は思います。管理者向けの話も多いので、エディタをよく使う管理者にもオススメ。