いつのまにかIDEをやめてVimmerになっていた話

この記事は、ミクシィグループ Advent Calendar 2019 - Qiita の21日目の記事です。

こんにちは、こんばんは、おやすみなさい、19新卒の@zu-minです。 普段は、数十万行規模のサービスのサーバエンジニアをしています。 仕事では、Rubyを書いてることが多いです。

アドベントカレンダーに登録してたら、なにか書くこと思いつくだろう!!!という軽いノリで登録したのですが、思いつかなかったので 社会人になったら、いつのまにかIDEを卒業してVimmerになっていた話でも書こうと思います。

(配属されてからのふりかえりでも書こうかなと思ったけど、広報チェック出すのめんどくなったなんて、そんな、そんなことはないです)

移行したきっかけ

もともと使ってたのは、RubyMine (Ruby以外を書く時はIntelliJ) でIDEA Vimと、その他有名所のPluginを入れた構成で数年利用していました。

  • ファイル数多すぎて、ファイルツリーを見ることがなくなった (ファイル数が多すぎて探せない)
  • ぱっと何かしらのファイルを見たいときに、起動に時間がかかる
  • 複数リポジトリのコードを編集することが増えた (何個もIDE開いておくのはつらい)
  • 極力トラックパッドを使わないほうがコーディングしやすいことに気づいた

といったことから、自分のスタイルにはVimが合ってるのでは・・・?と思い始めたのが移行のきっかけです。

移行するにあたってやったこと

移行するにあたって、以下の点は満たさないと移行後につらそうだなぁと思っていました。

  • コードジャンプ
  • ファジー検索
  • 単体テストの実行
  • インデントガイドが表示される
  • ある程度コード補完してくれる

IDEだと、だいたいインストールするだけで利用可能な機能たちですね。 他にもリファクタ系の機能とかも便利ですが、自分はそんなに使わないので省略してます。

各それぞれを解決したPluginや解決策

  • コードジャンプ
    • Ctags
  • ファジー検索
  • 単体テストの実行
  • インデントガイドが表示される
    • vim-indent-guides
  • ある程度コード補完してくれる
    • coc.nvim + coc-tabnine

自分が書いている設定やらなんやらは、一番最後に載せておきます。 (plugin自体の管理はdeinでしています。)

その他には、zshrcに以下のようなfunctionを作って、ag (The Silver Searcher) で検索した結果をVimで開いたり、最近開いたファイル一覧を出しつつ、Vimを開いたり、など色々できるようにしてます。

  function avim() {
    vim -c "Ag! $1"
  }

  function hvim() {
    vim -c "FZFMru!"
  }

gist.github.com

2018年を振り返ってみる

【この記事は,「ミクシィ19新卒 Advent Calendar 2018」20日目です。】

昨日まで何書こう・・・。と悩みに悩んで,自己紹介がてら雑に1年間の振り返りをしようと思います。

昨日の記事は, 「クリスマスファシズムとスマート生活にはびこる人間の〇〇!!」 でした。

1月

11月から就活をしていて,選考が半ばから終盤に進んでいるところが多くなって内定をいただいたり,就活の成果(?)が出だした頃でした。

2月

アディッシュ株式会社にインターンにいきました。

ここでは, React, Python, Rubyでマイクロサービス化されているプロジェクトでした。 スクラム開発で進めていて,心理的安全性が高く議論が活発なチームで,プロダクトだけでなく開発自体がどうすればよりうまくいくかを日々試行錯誤されていました。

内定承諾したのもこの頃。 2月末まで悩みつつも,結局最初に内定をいただいた株式会社ミクシィに行くことになりました。

3月

この頃,Elixirを書き始めました。 きっかけは,まわりにElixir推しの人が居たというのもあるけど,純粋にRuby以外の言語を触ろうかなぁと思ってたタイミングであったのも大きかったのかな?

JaSST'18 Tokyoに参加しました。 ソフトウェアテストは,自分の書いたプログラムはどうやったらプロに少しでも近づくのか?と考えた時に,自分の書いたプログラムの品質を保証できなきゃいつまで立っても半人前じゃないか?と学部4年の頃に思ったのがきっかけでした。それから,良いものを作りたいというそもそもあった思いもプラスされて,プロダクトの品質だったり,ユーザー体験とった方向への興味関心も高まって,自分の学びの幅も広がっていきました。 JaSST'16 Kyushu が初めて参加したJaSSTで,それから行けるチャンスがあればJaSSTに参加しています。

4~6月

たぶん,十数ぶりくらいに花見をしました。この時二日酔いでなんとか回復したくらいで参加したから,とても悔やまれたのを思い出す・・・。

たまたま研究室に訪れていた,増崎さんからコンセプトを聞いて共感したことをきっかけに,Bluebookに関わりだしたのもこの頃。 自分に余裕がある時に,軽くお手伝いをしている程度ですが,1つのサービスが少しずつ成長していく姿を見れて,とても楽しいです。

北九州から羽田に飛行機で移動中にはじめて着陸やり直しを体験したりもしました。 うおおお,着陸すると思ったら空港が離れていくううう!!!というなんとも不思議な感じでした。

Erlang & Elixir Fest 2018 に参加しました。 日本でのErlang, Elixirの採用実績がみれてすごい楽しかったですね。 最初から最後までワクワクしっていた記憶。

7~9月

Agile Japan 2018 に参加しました。 前年に,福岡サテライトを開催してその時は本会に参加できなかったので,今年こそは!という意気込みでの参加でした。 モブプロよい・・・よいぞ・・・!という感じだった。

7月半ばからは内定先で夏季期間中のみのアルバイトを2ヶ月間していました。

待望のElixirのプロジェクトだ!という意気込みで,Elixir書いたり,サーバーのOSのバージョン上げたりしてました。 はじめて,ゲームプロジェクトに関わって楽しかったです。 バックエンドにゲームロジックがあったので,コードリーディングもすごい楽しかったです。 このギミックはこう作られているのかーとワクワクしながら読んでました。 4月から働きだした時に,配属先が決まるのはまだ先ですがゲームプロジェクト楽しそうだな・・・って気持ちになったきっかけですね。

10月

ラフノート株式会社に関わりだしたのがこの頃。 フリーランスエンジニアが働きやすい世の中作ろう!!!というプロジェクトだったり受託案件だったりをやらせていただいてます。 西小倉さんのフットワークの軽さに刺激を受けつつ楽しくやってます。

Agile Japan 2018 福岡サテライトを主催したのもこの頃。「スクラムってそもそも」な話や,この時期にはすでにこんなことやってたんだよって話が聞けてとても熱かったです。 また聞きたい・・・。

11月

WSA研究会にはじめて参加しました。ギリギリまで準備をしていて圧倒的準備不足だったので,次に参加するときはしっかり準備してから望みたい。

JaSST'18 Kyushuに実行委員として参加しました。 去年に引き続き2年目の実行委員でした。 講演中の写真係をしつつ,同値分析の講演をみてました。 講演が全て終わって,研究室の学生を連れてきたかったと,とても思いました・・・。

12月

九州アプリチャレンジキャラバンの発表会にスタッフとして参加しました。 来年は,就職で東京に行っちゃうのでなんとか発表会の時だけでもスタッフとして戻ってきたいなと思ってます。 なんとかならないかな・・・w

まとめ

今年1年間そんなにガシガシ活動してた記憶ないなぁと思いっつつ振り返ってみてたんですが,結構いろんなことしたり参加したりしてました。これでも結構書き忘れているものがありそう。 勉強会への参加とか,ライブに行った!とか,書いてたらキリがないなと思って省いたのに・・・。

そういえば今年は,東京・福岡をたくさん行き来してたので,今どっちにいるの? って聞かれるまでになってました。 最近はずっと福岡にいるので聞かれなくなりましたが。

今年は,小さなものから大きなものまで様々なプロジェクトに関わりながら,RubyとElixir書いてることが多い1年だったのかなぁって感じがしてます。 来年の自分は何をしてるんでしょうね。 今からすでに楽しみです。

さて,去年の自分はというと・・・。

アウトプット・・・。 Qiitaの記事書いたり,去年よりはアウトプットするようになったかな・・・?

記事書かなきゃ・・・!くらいな気持ちで書き始めたんですが,最近はこれ書いとこう!って思った時に書く感じになりました。

まだまだ,これからですね。