Mac OS X で UNIX 環境と最高の使い心地を整える

  • 107
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

ターミナル操作編✋

Homebrew のインストール

    $ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
    $ brew update

参考文献

Git のインストール

環境設定ファイルなどはすべて GitHubで管理しているため、このコマンドがないと始まらない。すでに Homebrew が入っているので、

    $ brew install git

インストールが完了したら、

    $ cd; git clone https://github.com/b4b4r07/dotfiles

を実行する。完了したら、

    $ cd dotfiles
    $ ./install.sh

ここまでエラーなく正常に終了したら、一旦 bash を再起動する(./install.sh によって所定の場所にリンクされたファイルを読み込みたいだけ)。

Vim のインストール

Vimmer なので。

    $ brew install vim

クリップボードとの連携ができたほうがいいので、brew でインストールした vim が対応しているかどうか確認する。

    $ brew list vim | grep "vim$"
    /usr/local/Cellar/vim/7.4.161/bin/vim
    $ /usr/local/Cellar/vim/7.4.161/bin/vim --version | grep "clipboard"
    +clipboard       +iconv           +path_extra      -toolbar
    +eval            +mouse_dec       +startuptime     -xterm_clipboard

対応していたら、既存の vim をこれと置き換える。

    $ sudo mv /usr/bin/vim{,.old} && ln -s /usr/local/Cellar/vim/7.4.161/bin/vim /usr/bin

参考文献

すでに設定ファイル(~/.vimrc)の配置は完了しているので、ここで一旦 vim を起動しておく。渡すパラメータは以下

    $ vim +NeoBundleInit

設定ファイルに初回起動のみ NeoBundleInit 関数が有効に使用できるような設定になっている。終わったら NeoBundleInstall などで、記載されたプラグインを一括インストールする。仮にインストールできないようなこと(NeoBundleInstall してもインストールされないなど)があったならば、いったん今の vim を終了してもう一度起動したら、NeoBundleCheck が自動実行される(これもそうなるように設定ファイルに記述してある)ので、これでインストールされてないプラグインがあったら自動で検知され、インストールされる。

各種必要コマンドのインストール

すべて brew からインストールできます。また、インストールされたパッケージの確認は

    $ brew list

でいいです。以下にインストールする予定のコマンド郡を列挙する(大体五十音順)。

colordiff

diff の出力に色を付ける。diff にエイリアスしておくと、diff したときに色がつく。

cowsay

後述する fortunefiglet も同様の理由ですが、コマンドラインにイラストをに使用するためにインストール。

figlet

cowsay に同じ。

fortune

cowsay に同じ。

gist, gisty

gist をコマンドラインから操作できるコマンドです。後者のほうが少し高機能とされています。post したあとに環境変数 GISTY_DIR で指定したディレクトリに自動 clone してくれたりします。しかし、高機能ゆえに初期設定が少し面倒なため簡易利用にしか使用しない場合などは前者でいいです。

参考文献

最近では前者も高機能化されているようで、

    $ gist --login

などで、OAuth 認証でアカウントの紐付けも出来るようです。やはり、~/.gitconfig などにパスワードを平文で載せるのは抵抗があるため(そもそも GitHub 管理しているなら不可)、この方法でログインできるのは大変便利です。

hub

git と GitHub を少し便利にするコマンド。

参考文献

pwgen

覚えやすいパスを生成するパスワードジェネレータ。第一引数に数字を渡すことでその長さでパスワードをつくる。デフォルトは8文字。第二引数に数字を渡すことでその個数分ランダムに色々生成するのでその中から良さそうな好きなモノを選べば良い。デフォルトはたくさん。

オプション
-B 1 と l のような紛らわしい文字を使わない
-s 全くのランダムな文字列を生成する
-y 記号を含める

tig

コマンドラインから使用することのできる git ブラウザです。参考文献にとても詳しい説明が記載されているので省略。

参考文献

tree

ディレクトリツリーを作成する

wget

OS X には標準でインストールされていない(たしか)ので。

zsh

普段は bash ユーザではあるが、ユーザの多いシェルかつ最新のシェルということで動向だけは追っているため。

Bash を整える

basher なので。

bash-completion

これをインストールすることで補完が強いと言われる zsh 並みの補完機能を手にすることができる(らしい)。

    $ brew install bash-completion

ソースコードからインストールするもよし。最後に必要設定を書き込む(すでに dotfiles に記述してあるので必要がないのだが一般ユーザの目線で)。

$ cat <<EOF >>~/.bash_profile
if [ -f $(brew --prefix)/etc/bash_completion ]; then
    . $(brew --prefix)/etc/bash_completion
fi
EOF

参考文献

favdir

ディレクトリ移動が楽になる。よく利用するディレクトリや、やむなく深い階層にあるディレクトリを登録すればいい。

参考文献

cdhist

ディレクトリの移動履歴から上位10件をリングバッファ的にアクセスしやすくする。また、移動履歴からよく利用されるもののエイリアスを作成したり、前にいたディレクトリにすぐ戻れるようにしたり、移動をパスの頭文字で行えるようにするプラグイン。「移動」にまつわる。

shc

シェルスクリプトのバイナリ化を行う。

参考文献

OS X 設定操作編✋

タップでクリック

システム環境設定から変更。

ホームディレクトリを英語化する

バージョンによって方法が少し違うのですが、ターミナルからこれで一発。

lang_setting.sh
$ cat lang_setting.sh
if [ $(echo "`sw_vers -productVersion |cut -d. -f1 -f2` > 10.8" | bc) -eq 1 ]; then
    cd /System/Library/CoreServices/SystemFolderLocalizations/ja.lproj
else
    cd /System/Library/CoreServices/SystemFolderLocalizations/Japanese.lproj
fi
sudo mv SystemFolderLocalizations.strings SystemFolderLocalizations.strings.back
sudo cp ../en.lproj/SystemFolderLocalizations.strings .
killall Finder
$ chmod 755 ./lang_setting.sh && ./lang_setting.sh

defaults コマンドで隠し設定を有効化

必要アプリのインストール

  1. Dropbox

    重要!ファイルクラウドサービス。特にターミナルなどからの利用がすごく楽なので完全必須アプリ

  2. GoogleChrome

    ブラウザ

  3. BetterTouchTool

    重要!トラックパッドユーザは必須アプリ。ここに設定ファイルがあるのでダウンロードして、アプリからインポートする。

    参考文献

  4. Growl

    App Storeからも。

    通知センター的なもの。標準の通知センターが機能拡張してきているので後々は削除するかもしれない。

  5. Justnotes

    プレーンテキストで保存できるクラウドメモサービス Simplenote のクライアントソフト。Evernote と違って非常に軽量で同期もシームレスでかつプレーンテキストで保存できるので重宝。クライアントソフトの中ではこれが一番使いやすかった。

  6. Memory Clean

    メモリ解放アプリ。Mavericks になってから OS 単位でメモリがどうこういっているがステータスバーに使用率がリアルタイムに出たりする点で気に入っている。

  7. PopClip

    App Store からも。

    重要!iOS のようにコピペを行えるようにする。以外にもとても便利でエクステンションを追加することで、辞書検索やツイートしたりあとで読む系のサービスに投げたり、一度使うとインストールされてないマシンでは苦行を強いられる。中毒性の高い便利アプリ

    参考文献

  8. Evernote

    クラウドメモサービス。動機が遅いのとクライアントソフトが重いのを除けばまあ使える(結構重要な点だけど)。昔から使っているから手放せないというのもあって消せない。主にライフログ(Twieve で記録など)としての使用と、あとで読むに投げない記事などの墓場として利用。

  9. MacVim

    GUI ベースで使用できる Vim。UI が綺麗だが、結局ははやさの点からコンソール起動するのでそこまでの重要さはない。

  10. 1Password

    パスワードマネージャ。高価だが使っていて気持ちいいアプリ。Alfred2 の PowerPack などと連携するととてもいい。各種ブラウザにエクステンションがあるのもいい。複数間プラットフォームでの同期は iCloud か Dropbox で選ぶことができる。

  11. Alfred2

    重要!ランチャ。Spotlight の強化版。PowerPack があるととてもよい。

    参考文献

    PowerPack があるなら以下も。
    - Alfred 2のユーザ体験をロケットスタートで始めるための13の偉大なWorkflow
    - Alfred PowerPack を導入してみた

  12. Skitch

    スクリーンキャプチャに利用。Evernote アカウントがあるとなお良い。簡単なお絵かき操作もできる。

  13. VLC

    動画などの再生ソフト

  14. Vox

    軽量な音楽再生ソフト。FLAC が再生できる点が良い。また iTunes の音楽ライブラリをスキャンして再生できる。

  15. Mou

    リアルタイムでプレビューできる2画面型のマークダウンエディタ

  16. XtraFinder

    Finder 拡張アプリ。OS レベルでタブなどをサポートしていなかったときからタブに出来たので使用してた。Chrome タイプのタブにできる点と、Finder を2画面表示してコピー等をしやすくする点で高評価

    参考文献

  17. The Unarchiver

    解凍ソフト

  18. Google 日本語入力

    ことえりはいやなので

  19. Tweetbot

    iCloud でタイムラインの既読位置を同期できる。また UI がきれいなので利用

  20. KeyRemap4MacBook

    Mac Mini では HHKB を使用しているので問題ないが、MBA の US 配列では Aキーの横が CapsLock になっているため、Control キーに変更する目的のみでインストールした。設定さえすれば高度なリマップや Windows でいうとことの AutoHotkey のようなことができる模様。

  21. AppCleaner

    いらないアプリを削除する。関係ファイルも一切合切削除してくれる

  22. Pocket

    あとで読む系のクライアントソフト。PopClip からなげるときに必要なので

  23. Kobito

    Qiita に投稿するときに利用する。Mou と同じ2画面型のリアルタイムプレビューできるが、タグ入力が必須(そもそも投稿が目的とされているので)なので、非常に優秀なマークダウンエディタだけど Qiita 専用。Qiita に投稿しないマークダウンファイルを書くときは Mou。投稿するときは Kobito で使い分け。

  24. Burn

    ライティングソフト

  25. Keynote

    プレゼンソフト。パワポよりアニメーションが強い。

  26. File Details

    Sha1 や MD5 やその他事細かなファイル情報を教えてくれる。使い方も簡単。

  27. ClipMenu

    App Storeからも。

    クリップボード履歴拡張ソフト

U.S.キーボードの削除

ここをみて設定。

最後に

環境構築した時に書いていないので思いだけるだけ今書き出しました。思い出し次第加筆します。