69
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

iTerm, zsh, vimをかっこよくセットする

MacBookAirにシステムの不具合があったのでディスクフォーマットして対処。
いざバックアップしようとしたら「失敗しました」だと!?

残されたのはiCloudに残された書類のみ。
仕方ないので自力でセットアップしていく。

せっかくなので一つ一つ理解しながら進めていく。

目標

OSX(Mojave10.14.3)しか入っていないまっさらな状態から、かっこいいターミナル、かっこいいVimを整えて、pythonとC++を実行できるようにする。

手順

  • homebrewをインストール
  • iTerm2を整える。
    • 1_インストール
    • 2_bashからzshにする
    • 3_zshrcの設定
    • 4_カラースキームの設定
    • 5_フォント「ricty」を入れる
    • 6_プロンプトを変える
  • vimを整える
    • 1_vimrc
    • 2_カラースキームの設定
  • gcc
    • 補足 エイリアスとシンボリックリンク
  • Python
    • zshでanacondaを使う人はここで注意。
    • zshでanacondaを使えるようにするには?
    • 他のパッケージのインストール

homebrewをインストール

MacにHomebrewを導入する方法&使い方まとめ
これに従ってインストールする。ちなみにあの重い重いxcodeのアプリを入れなくてもこのコマンドは実行可能。
$ xcode-select --install

iTerm2を整える。

標準で入っているTerminalを使っていたのですが、色々なお話を見るにつれてどうやらiTerm2の方が何かといいらしいのでインストールすることに。
参考:MacのターミナルアプリにはiTermがオススメ

以下のかっこよくする流れはこの記事を参考。
お前らのターミナルはダサい

1_インストール

  1. iTerm2のサイトへ行き、zipファイルをダウンロード。場所はどこでも。
  2. ダウンロードしたzipファイルをダブルクリックすれば展開され、本体が出てくる。
  3. 本体を開くと「applicationに追加するか?」と聞かれるので「追加する(Move to Application Folder)」をクリック。するとApplicationフォルダにiTerm2が追加される。(ダウンロードフォルダにあるやつは消しちゃっておっけ)

2_bashからzshにする

初心者向け:Zshの導入
こういう記事を見るとどうやらbashよりもzshがいいらしい。
この記事に従ってhomebrewでインストールできる。

ただこのままだとパスが通ってないって怒られる。
最終的にこれを~/.zshrcに書いたら治った。

~/.zshrc
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

はて?これは一体何をしているんだ?

この二つの記事がとても分かり易かった。
PATHを通すとは? (Mac OS X)
PATHを通すために環境変数の設定を理解する (Mac OS X)

3_zshrcの設定

少し凝った zshrc
これを~/.zshrcに書いてあげればとりあえずオーケー

4_カラースキームの設定

人気のicebergにする。
https://github.com/Arc0re/Iceberg-iTerm2
これに従って設定すればオッケ。

5_フォント「ricty」を入れる

rictyはプログラミングに特化したフォントで、とにかく見やすい。
下記を参考にインストールしていく。
プログラミング用フォントRictyをMacにインストールする

6_プロンプトを変える

zshプロンプトのカスタマイズ
この記事を参考に~/.zshrcのプロンプトの部分を書き換えればオッケ。
僕はこんな感じ

~/.zshrc
PROMPT="
%{${fg[magenta]}%}[%n@%m]%{${reset_color}%} %~
$ "

こんな風に表示される
スクリーンショット 2019-03-10 16.06.28.png

スッキリした!

記号についてはこの記事を参考。

Fiはアカウント名、FiMacはPCの名前だ。
なんで両方表示させるかというと、ローカル開発環境やらラズベリーパイにログインした時居場所がわかった方がいいからだ。

vimを整える

1_vimrc

vimrcはこれをコピペ。
何も考えず~/.vimrcにこれを書くんだ! 〜vim初心者によるvim初心者のためのvim入門〜
gvimrcってのはguiに関するところを扱うらしい。

2_カラースキームの設定

vimのカラースキームもicebergにしたい。
vimのカラースキーム (colorscheme) を "molokai" に設定するを参考にicebergを設定した。

まずホームディレクトリ(~)に.vimのディレクトリを作成。その中にcolors/ディレクトリを作る。

$ mkdir ~/.vim
$ cd ~/.vim
$ mkdir colors

.vimにgithubからicebergをインストールする。
インストールしたらiceberg.vim/colors/にある本体iceberg.vim~/.vim/colorsにうつしてやる。

$ git clone https://github.com/cocopon/iceberg.vim/
$ mv iceberg.vim/colors/iceberg.vim ~/.vim/colors

仕上げに~/.gvimrc~/.vimrcのカラースキームをicebergに変更してやれば完了。

~/.gvimrc
" カラースキーム
colorscheme iceberg

gcc

gccは最初からmacに入っているのだが、最新版が欲しい。
この記事に従って最新版をインストールする。
Macのgcc, g++をHomebrewを使って最新版にする

補足 エイリアスとシンボリックリンク

「エイリアス」「シンボリックリンク」という単語の意味がよくわからなかったけど、この記事で理解できた。

/usr/local/binにいくとファイル名の最後に@がついたファイルがいっぱいある。これはシンボリックリンクで、本体がある場所に紐づけられている。そしてこのリンク自体を本体と同じように扱うことができるのだ。
スクリーンショット 2019-03-11 11.30.48.png

一方で実行ファイルには*がついている。
スクリーンショット 2019-03-11 11.31.13.png

これらの記号の説明はここを見ておくといい。

Python

Anacondaをインストールしてしまえば必要なものはほとんど揃っている。
Anaconda を macOS にインストールする手順
python3系のバージョンをインストールする。

zshでanacondaを使う人はここで注意。

上記リンクにも書いてある通り、Anacondaは/anaconda3にインストールされる。
そしてpathの設定も自動的に.bash_profile にやってくれるというのだ。

ん?今使ってるのはbashじゃなくてzshだぞ?ってことで、ただインストールしただけだとzshからanacondaを使うことはできない。

例えばpython3系のanacondaをインストールしたのにバージョンを確認したらpython2系だったりした時は、多分標準でmacに入っているpythonが表示されているだけなので以下の作業が必要だ。

[Fi@FiMac] /anaconda3
$ python --version
Python 2.7.16

zshでanacondaを使えるようにするには?

インストールしたら~/.bash_profileを見にいく。

$ vim ~/.bash_profile

するとだいたいこんなのが書かれていると思う。
(おそらくバージョンによって違うのでちゃんと確認してね)

~/.bash_profile
 1 # added by Anaconda3 2018.12 installer
  2 # >>> conda init >>>
  3 # !! Contents within this block are managed by 'conda init' !!
  4 __conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/nu    ll)"
  5 if [ $? -eq 0 ]; then
  6     \eval "$__conda_setup"
  7 else
  8     if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
  9         . "/anaconda3/etc/profile.d/conda.sh"
 10         CONDA_CHANGEPS1=false conda activate base
 11     else
 12         \export PATH="/anaconda3/bin:$PATH"
 13     fi
 14 fi
 15 unset __conda_setup
 16 # <<< conda init <<<

ここには「pythonを使う時はanacondaのpythonを優先して使ってくださいね!」って命令が書かれている。
これをぜーんぶコピペして、~/.zshrcの好きなところに貼り付けて、保存。

sourceコマンドで.zshrcの内容を即座に反映

$ source ~/.zshrc

バージョンを確認してみると、うまくいっている。

[Fi@FiMac] ~
$ python --version
Python 3.7.1

補足(2019/09/26)

最近この手順でセットアップをして、$ source ~/.zshrcを実行したタイミングで妙なものが出てくる。

$ python --version
Python 3.7.3
(base)

この(base)ってなんだ?

これはanacondaについてくるデフォルトのconda環境であるbaseが適用されていますよ〜というサインらしい。
先ほどzshrcに書いたコードの中には、baseをactivateする旨の記述がある。

例えば$ conda deactivateとすれば(base)は消え、python2系しか使えなくなる。

[FisMac] ~
$ conda deactivate

[FisMac] ~
$ python --version
Python 2.7.10

一方で$ conda activateとすれば(base)が現れ、python3系が使えるようになる。

[FisMac] ~
$ conda activate
(base)
[FisMac] ~
$ python --version
Python 3.7.3
(base)

詳しくはここに書いてある。
Python japan condaコマンド

他のパッケージのインストール

続いてanacondaについていないパッケージ(ぼくはpyglet, pymunk, vispy, keras,tensorflowが欲しいとする)インストールしたかったら以下のようにする。

$ pip install pyglet pymunk vispy keras tensorflow

パッケージがどこにインストールされているか見たかったらこうすればいい。

$ pip show pyglet pymunk vispy keras tensorflow

例えばtensorflowならこう表示される。

Name: tensorflow
Version: 1.13.1
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: opensource@google.com
License: Apache 2.0
Location: /anaconda3/lib/python3.7/site-packages
Requires: keras-applications, grpcio, six, protobuf, keras-preprocessing, numpy, tensorboard, tensorflow-estimator, termcolor, wheel, astor, absl-py, gast
Required-by:

このLocationが場所なのだが、全部すごくありがたい場所に入ってくれている。

おわりに

セットアップは大変。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
69
Help us understand the problem. What are the problem?