ESM アジャイル事業部 開発者ブログ

永和システムマネジメント アジャイル事業部の開発者ブログです。

36期開発環境変更点ふりかえり

takkanmです。 弊社では8月から新しい期となるため、これを機会にこの一年自分の開発環境で変更してみたものについて、これまでの変遷を含めふりかえりたいと思います。 (多分読まれているみなさんにとって弊社の期が変わるタイミングなんて関係ないと思いますが、4月ぐらいに書こうと思っていたネタを放置しすぎてここまできてしまったため、無理やりこじつけた次第です。お付き合いください。)

Editor(before: Vim, after: Atom)

まずはエディタです。

大学生の後半から2015年の7月ぐらい(およそ10年)までVimを使用しておりました。(なお、大学で購入したWindowsノートPCに何故かすでにXkeymacsとMedowが入っており、メーラとしてWanderLustを使わされるということがあったため、それまではEmacsを使用)

それをなんの契機があったのか急にAtomに変えてみました。多分、10年使ってみたしモダンなエディタを使ってみるかという軽い気持ちからだったと思います。

モードとテキストオブジェクトがあるVimからモードがないAtomへの変更は、最初はかなり戸惑いがありました。 まずは、ショートカットキーやVimでできてたあの操作はできるのかがよくわからなかったので、Idobataにある弊社AtomルームでAtomユーザにどうするの?というのを聞いたりし、ノウハウを貯めていきました。また、第一回社内Atomユーザ現状確認会をし、みんなが使っているプラグインや困っていることなどを共有していったところ、一日Atomで過ごしても仕事ができるようになっていきました。

操作性に関しては、今でもVimの方が速いのではということを思う時がたまにあります。これはテキストオブジェクトでパッと操作できたり、Uniteの存在がVimにはあるというのが影響しているかもしれません。実際、マージのコンフリクト解消や書き捨てのコードを書くときなどは、Vimでパッとやってしまうことが多いです。

また、余談になりますが最近技術評論社から出版された、Atom実践入門はこれからAtomを始めてみようという人や、Atomを使っているけど使いこなせていないと感じている人にオススメの本でした。細かいキーの操作からカスタマイズの方法まで網羅されているのが特徴です。何より良かったところは、各操作に対してどういうコマンド名かが書かれているため知らなかった操作を知った場合、その操作を特定の使いやすいショートカットキーに自分で割り当てるというのが簡単にできます。

Shell(before: Zsh, after: fish)

以前はZshを使っていました。しかし、数年前弊社がまだ上野にオフィスを構えている時にあったいつぞやのAsakusa.rbのミートアップで@lchinさんがfishの存在を教えてくれて、そこからずっとfishが気になる存在となりました。

そして昨年の11月にid:yoshioriの人がZshからFishにしたという記事を書いてくれたので、乗り換えてみることを決意しました。決意したといっても実際乗り換えれたのは今年に入ってからになってしまいました。

パッケージマネージャですが、oh-my-fishではなく、fishermanを使っています。実は、最初はoh-my-fishを使っていたのですが、Twitterでoh-my-fishを使っていることを言っていたら、fishermanの中の人からおすすめいただいたので、乗り換えることにしました。fishermanはoh-my-fishのプラグインを読み込むこともできるので、すごく設定が楽でした。

fish の特徴ですが、強力な補完だと思います。1文字打つだけで過去に入力したコマンドから一致するものを補完候補として表示してくれます。また、履歴の検索も何文字か入力して上キーを押すだけで簡単にたどれます。ただし、この履歴の補完は、zsh の history-incremental-pattern-search-backward に慣れている人にとっては戸惑いを感じるかもしれません。わたしも最初は慣れず、peco を入れて似たようなインクリメンタル補完を実現してそちらを多用していましたが、慣れてくるとこちらの方が速いかもという気分になってきました。

Keyboard(before: Happy Hacking Keyboard, after: Kinesis Contoured Keyboard)

わたしは大学の時代に使っていたHappy Hacking Keyboard Liteを含めて10年ほどHappy Hacking Keyboardを使用していました。 何故Happy Hacking Keyboardを選んだのかというと大学時代に購入した本にHappy Hacking Keyboard設計思想やキーボードに対するこだわりが書かれており、それに惚れ込んだためというのがあります。また、社会人になってからHappy Hacking Keyboard Professional2を購入して、その打鍵感の心地よさも気に入ってました。

しかし今年に入り、肘に謎の痛みを感じるようになり、なんとなくエルゴノミクスキーボードのKinesis Contoured Keyboardを使用することにしました。弊社にはこのキーボードを使用する人が昔は多く在籍しており、数年前に借りて試してみたことがありました。この時はすぐに挫折してしまいました。今回は、理由が承認されれば開発に必要となる周辺機器を自由に購入できる部署の制度を利用し、購入していただきました。

やはり、購入して使い出した直後は目に見えるぐらいキーが打てず大変でしたが、頑張って1週間程度使っていったところで慣れてきました。このキーボードを使い出して感じたのは、いかに今まで親指を遊ばせていたかということです。Kinesis Contoured Keyboardの親指部分には各6つのキーが用意され、親指をいろんなことに使えます。慣れるまでは、今までキーを打つ時に使っていなかった筋肉を使うので手が疲れましたが、慣れてくるとこのキーがないと不便に感じるぐらいになってきました。

なお、この記事を書いている最中に個人で購入したErgoDox EZが届いたため、そちらを使いこの章を書いています。ErgoDox EZですが、Kinesis Contoured Keyboardより腕を開いてキーを入力できるのが良いのですが、キーがフラットなためKinesis Contoured Keyboardのお椀型が懐かしくなってきます。しばらく、使い込んでみようと思います。

最後に

今年はいろいろドラスティックに開発環境を変更した一年でした。慣れ親しんだ環境から別の環境に移行するのは大変ですが、新しいことを知ったりすることができるので、面白さもあります。今後も定期的に見直して、より快適な環境を目指していこうと思っています。

余談 IME

10年近く使っていたSKKを捨てて、Macの標準IMEのライブ変換も使うようになっていました。