元WindowsユーザーのVimmerでVSCoderが、入社1年間でMacにインストール・設定したものまとめ
こんにちは、事業開発部の高野です。当社は本日が2019年の仕事納めですので、せっかくなのでふりかえりっぽい記事を。
早いもので私がクラスメソッドにジョインしてから1年と3ヶ月が経とうとしています。ところで、ジョイン直後にこんなエントリを書いていました。
それからMac歴も1年を超え、EC/CRMのAPIプラットフォーム「prismatix」の開発に携わる中で環境にも色々変更がありますので、改めて備忘録として残しておこうと思います。
あ、VSCodeはほとんど使わなくなりました。
Git関連
hub
hub · the command-line wrapper for git
GitHubの操作をコマンドラインから行うためのツール。主にPull-Requestを作るときに使っている。
# カレントブランチを使い、masterブランチを起点としたPull-Requestを hub pull-request -b master
Vim関連
MacVim-Kaoriya
splhack/macvim-kaoriya: MacVim-KaoriYa
KoRoN a.k.a @kaoriyaさんがメンテしている香り屋版Vimの変更をMacVimに取り込んだもの。1年前はインストールできないとか書いてましたが、インストールできました。
本家MacVimに比べるとバージョン追従は遅いのですが、日本語を書くときの書き味の違いにどうしても慣れないので使っています。とはいえ、最新のVimの機能も使ってみたいので、今度乗り換えてみようかなぁ。
Tabnine-Vim
zxqfl/tabnine-vim: Vim client for TabNine
入力補完を賢くやってくれるTabNineのVim版プラグイン。エディター内でファイルパスやコードのキーワードや型名、テキスト内でよく使われる単語などをサクサクと予測して補完候補に出してくれるので便利です。
同種のプラグインにはcoc-nvimというものもあるのですが、いまいちIMEとの相性がよくなかったのでこちらを使っています。
IDE関連
IntelliJ IDEA
IntelliJ IDEA:JetBrainsによるプロ開発者向けJava IDE
言わずとしれたJVM系言語向けIDEです。私はWebフロントエンドの開発はやっておらず、JavaScriptへのサポートなども不要なことから、無償の「Community版」を使っています。
「Community版は商用プロダクトの開発に使うことができるのか?」と思われるかもしれませんが、開発元であるJetBrainsの公式FAQに使用できると明記されています(Community版に適用されたApache License 2.0に基づいています)。
FAQ - IntelliJ Open-Source Project - Confluence
Can I build a commercial product on top of the IntelliJ Platform?
Yes, you can, according to the terms of the Apache 2 license. We encourage developers to build both open source and commercial products on top of the platform.
(太字は引用者による装飾)
IdeaVim
JetBrains/ideavim: Vim emulation plug-in for IDEs based on the IntelliJ platform.
IntelliJ IDEAでVimキーバインドを使うためのプラグイン。
私はIntelliJ IDEAのキーバインドと衝突するものもすべてVim側にして使っています。そうすることで使えなくなるショートカットキーもありますが、Cmd
+Shift
+A
(Actions
の検索)などで回避しています。
Rainbow Brackets
Rainbow Brackets - Plugins | JetBrains
対応する括弧を色分けして表示してくれるプラグイン。IDEA以外にも様々なエディタ、IDEにありますね。
入力補助系ツール
Karabiner-Elements
Karabiner-Elements - Software for macOS
キーボードのキーを入れ替えたりするためのツール。Windowsから移ってきたこともあり、下記の設定をしています。
\
キーをCmd
+\
にマッピング
既定では¥
が入力されますが、普段使うのは\
なので置き換えています(¥
を入力したいときはFn
+\
を入力する)。Caps
キーをCmd
にマッピング
コピー&ペーストなどのショートカットキーで使うCmd
キーですが、WindowsでいうCtrl
キーと同じ左下に無いとだめだったので置き換えています(その代わり右Cmd
をCaps
にマッピング)
Google日本語入力
macOSの標準IMEが変な候補が出たり、慣れ親しんだ「ATOK」の操作(左右キーで変換対象文字列の増減、下キーで確定)にできなかったので使っています。
Alfred
Alfred - Productivity App for macOS
事前に設定したショートカットキーを押すと、コマンド入力する小窓がでてアレコレできるツール。有償のPowerpackを入れるともっと色々できるとは思うのですが、とりあえず無償版のまま使っています。
追加したコマンドとしては、prismatixの各マイクロサービスのGitHubリポジトリページをそれぞれのコードネームを入力すれば開けるようにしているくらいです。
ターミナル
iTerm 2
iTerm2 - macOS Terminal Replacement
1年前の記事でもインストールしたと書いてありますが、標準ターミナルより使いやすい(らしい)ということで入れています(そんなに使いこなしていないです)。
Cmd
+Ctrl
+x
キーで、現在作業中のディスプレイにフローティングでターミナルが表示できるように設定しているのは便利です。
設定方法はこのあたりの記事を参照のこと。
iTerm2のおすすめ設定〜ターミナル作業を効率化する〜 - Qiita
その他GUIツール
Postman
Postman | The Collaboration Platform for API Development
REST APIのちょっとした動作確認などのために使っています。prismatixはOAuth2で認可を行っており、Postmanはそのあたりもよしなにしてくれる機能があるためです。
もちろん、製品としての品質は自動化テストで担保していますが、調査目的で特定データを取得するなどのケースでは便利です。
その他CLIツール
The Silver Searcher
Geoff Greer's site: The Silver Searcher
速いと評判のgrepツール(通称ag
)。
IDEの検索も使いますが、たまにざっと検索箇所の一覧を出したいときはこちらを使っています。
memo
Big Sky :: golang でメモ専用コマンド「memo」作った。
さっとメモを書いて管理するためのmattn-ware。使うエディターはMacVim-Kaoriyaにして使っています。
peco
peco/peco: Simplistic interactive filtering tool
いわゆる「コマンドラインセレクタ」。標準入力で受け取ったテキストを行単位で絞り込み/選択でき、選択したテキストを標準出力にだすというだけのツールです。
これがどう便利かというと、例えば設計/開発していると増えがちなGitの機能ブランチを絞り込んでcheckoutなどができます。私は次のようなalias
を.bashrc
に書いて使っています。
# ディレクトリ名でしぼってcd alias pcd='cd "$(find . -type d | peco)"' # ブランチ名で絞ってgit checkout alias pgco='git branch --sort=-authordate | cut -b 3- | perl -pe '\''s#^remotes/origin/###'\'' | perl -nlE '\''say if !$c{$_}++'\'' | grep -v -- "->" | peco | xargs git checkout' # ブランチ名で絞ってgit branch -d alias pgbd='git br | peco | xargs git br -d' # ブランチ名で絞ってgit rebase alias pgrb='git br | peco | xargs git rebase'
jq
JSONパーサーです。prismatixのデータやログはJSONなので、その解析に使っています。
jqについてはDevelopers.IO内にも関連記事がたくさんありますので、参考にどうぞ。
まとめ
コードを書くよりもドキュメントを書いたりコードレビューしたりが多い感じで過ごしていますが、便利にする余地はまだまだあると思うので、今後も継続的に開発環境を改善していけたらと思います。
それでは、皆様良いお年を!