Mac で使っている便利ツールまとめ

# 目的

- 現時点で自分が使っているツールをまとめておく
    - Mac のデータが飛んだ時の保険
    - Mac の移行時にまっさらな状態から必要なツールのみ入れるという選択もできる
- 記事として公開することでエンジニアとツールが接触する機会を作る
    - エンジニアは開発がより捗る
    - ツールはより多くの人に使われる
- 自分が知らない便利ツールを教えていただく
    - Qiita のコメントや Twitter のリプなどお願いします

# 便利ツールまとめ
## ユーティリティ
### Web ブラウザ
[Google Chrome](https://www.google.com/intl/ja_jp/chrome/)

- 最初は Safari から Google Chrome をダウンロード
- クロスプラットフォーム
- Twitter のデスクトップ通知は Chrome と Firefox のみ対応
- 拡張機能が優秀
    - ユーティリティ
        - [Vimium](https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb)
        - [Adblock Plus - free ad blocker](https://chrome.google.com/webstore/detail/adblock-plus-free-ad-bloc/cfhdojbkjhnklbpkdaibdccddilifddb)
        - [AutoPagerize](https://chrome.google.com/webstore/detail/autopagerize/igiofjhpmpihnifddepnpngfjhkfenbp)
        - [Emoji Keyboard by JoyPixels™](https://chrome.google.com/webstore/detail/emoji-keyboard-by-joypixe/ipdjnhgkpapgippgcgkfcbpdpcgifncb)
        - [かんたん文字数カウント](https://chrome.google.com/webstore/detail/%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93%E6%96%87%E5%AD%97%E6%95%B0%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88/lmmephjlhfdnijfigajbmemendbfhnha)
    - Google Calendar
        - [Checker Plus for Google Calendar™](https://chrome.google.com/webstore/detail/checker-plus-for-google-c/hkhggnncdpfibdhinjiegagmopldibha)
        - [G-calize](https://chrome.google.com/webstore/detail/g-calize/piiljfhidimfponnkjlkecnpjhdijfde)
        - [Google Calendar Plus](https://chrome.google.com/webstore/detail/google-calendar-plus/mjelhipeelammmhpghkpigkdonihkakj)
    - パスワードマネージャー
        - [Bitwarden - 無料パスワードマネージャー](https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb)
    - Github
        - [File Icon for GitHub and GitLab](https://chrome.google.com/webstore/detail/file-icon-for-github-and/ficfmibkjjnpogdcfhfokmihanoldbfe)
        - [GitHub Repository Size](https://chrome.google.com/webstore/detail/github-repository-size/apnjnioapinblneaedefcnopcjepgkci)
        - [Octotree](https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc)
        - [Sourcegraph](https://chrome.google.com/webstore/detail/sourcegraph/dgjhfomjieaadpoljlnidmbgkdffpack)
    - 文献管理
        - [Zotero Connector](https://chrome.google.com/webstore/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc)

### クラウド
[Google Drive File Stream](https://support.google.com/drive/answer/7329379)

- Google Drive を Finder から使用
- Google Chrome を立ち上げなくてよい

### パッケージマネージャー

[Homebrew](https://brew.sh/index_ja)

- パッケージやライブラリを一元管理
- コマンドでインストール・アンインストール

### パスワードマネージャー
[Bitwarden](https://bitwarden.com/)

- クロスプラットフォーム
- オープンソース
- Bitwarden 自体に二段階認証を設定
- Chrome 拡張機能として使用
- iOS 端末では生体認証を使用

### アプリケーションランチャー
[Alfred](https://www.alfredapp.com/)

- Command+Space でアプリケーションを立ち上げる
- フォルダやファイルを開くこともできる
- Google Chrome のブックマークを検索することもできる

### ウィンドウマネージャー
[ShiftIt](https://github.com/fikovnik/ShiftIt/releases)

- キー操作によりウィンドウを 1/2, 1/3 サイズで左寄せ・右寄せ・上寄せ・下寄せ・中央寄せ、最大化

### キーバインド
[Karabiner-Elements](https://pqrs.org/osx/karabiner/)

- US 配列のキーボードで「英数・かな」の変換
- Vim で esc や Ctrl+[ を押したときに、英数キーも送信

### クリップボード拡張
[Clipy](https://clipy-app.com/)

- 通常だと Command+V で直近にコピーしたものをペースト
- Clipy を使うと Command+Shift+V でコピーの履歴からペースト

### スリープ防止
[Amphetamine](https://apps.apple.com/jp/app/amphetamine/id937984704?ign-mpt=uo%3D4&mt=12)

- Mac のスリープを防止
- メニューバーのアイコンからワンクリックでスリープする・しないを切替

### アプリケーションのアンインストール
[AppCleaner](https://freemacsoft.net/appcleaner/)

- アプリケーションを完全に削除
- アプリケーション本体と設定ファイル等をまとめて削除

### 天気
[Forecast Bar](https://apps.apple.com/jp/app/forecast-bar-weather-radar/id982710545?mt=12)

- メニューバーで天気を確認

## コミュニケーションツール
### チャット

[Slack](https://slack.com/intl/ja-jp/downloads/mac)

- テキストのみでなく、ファイルやコードも共有
- Slack Bot の Incoming Webhook で実験の終了をお知らせ

### メーラー

[Spark](https://sparkmailapp.com/ja)

- クロスプラットフォーム
- iCloud アカウントで同期
- 端末毎にメールアカウントを登録しなくてよい

## 開発
### エディタ

[Visual Studio Code](https://azure.microsoft.com/ja-jp/products/visual-studio-code/)

- 最強のエディタ
- 拡張機能が優秀
    - ユーティリティ
        - [Vim](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim)
        - [Tomorrow and Tomorrow Night Theme Kit](https://marketplace.visualstudio.com/items?itemName=ms-vscode.Theme-TomorrowKit)
        - [vscode-icons](https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons)
        - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
    - Python
        - [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
        - [autoDocstring](https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring)
        - [Visual Studio IntelliCode](https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode)
    - csv
        - [Rainbow CSV](https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv)
        - [Edit csv](https://marketplace.visualstudio.com/items?itemName=janisdd.vscode-edit-csv)
    - LaTex
        - [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
    - リモートサーバ
        - [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh)
        - [Remote - SSH: Editing Configuration Files](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit)
    - Markdown
        - [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
    - C++
        - [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
        - [C++ Intellisense](https://marketplace.visualstudio.com/items?itemName=austin.code-gnu-global)
    - Ruby on Rails
        - [Ruby](https://marketplace.visualstudio.com/items?itemName=rebornix.Ruby)
        - [Ruby Solargraph](https://marketplace.visualstudio.com/items?itemName=castwide.solargraph)
        - [VSCode Ruby](https://marketplace.visualstudio.com/items?itemName=wingrunr21.vscode-ruby)
        - [Slim](https://marketplace.visualstudio.com/items?itemName=sianglim.slim)
        - [SCSS Everywhere](https://marketplace.visualstudio.com/items?itemName=gencer.html-slim-scss-css-class-completion)
    - HTML
        - [HTML Snippets](https://marketplace.visualstudio.com/items?itemName=abusaidm.html-snippets)
    - CSS
        - [IntelliSense for CSS class names in HTML](https://marketplace.visualstudio.com/items?itemName=Zignd.html-css-class-completion)
        - [Bootstrap 4, Font awesome 4, Font Awesome 5 Free & Pro snippets](https://marketplace.visualstudio.com/items?itemName=thekalinga.bootstrap4-vscode)
    - JavaScript
        - [JavaScript (ES6) code snippets](https://marketplace.visualstudio.com/items?itemName=xabikos.JavaScriptSnippets)
        - [Beautify](https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify)

### ターミナル

[iTerm2](https://iterm2.com/)

- 細かい環境設定がしやすい
- テーマ
    - [powerlevel9k](https://github.com/Powerlevel9k/powerlevel9k)
- フォント
    - [Fira Code](https://github.com/tonsky/FiraCode)

### Zsh

[Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh)

- .zshrc のテンプレート
- ターミナルをいい感じにしてくれる

### スニペット
[Dash](https://kapeli.com/dash)

- コードや定型文を登録
- Mac で使用する全てのアプリケーションで登録したコードや定型文を呼出

## 論文
### PDF ビューア
[Adobe Acrobat Reader DC](https://get.adobe.com/jp/reader/)

- PDF ファイルを閲覧
- タブを複数開くことができる
- PDF の章と節を自動で読み込みリンクとして参照

### 文献管理

[Zotero](https://www.zotero.org/)

- Chrome 拡張機能として使用することで Google Scholar や arXiv から簡単に文献を保存

# 気づいたこと

- 想像以上に Vim と生きている
- キー操作で完結すると楽

# 最後に

- 上に記載されていない便利ツールがあれば教えてください