最近MacBook Pro2017を購入したので環境構築を考え直してみました。
ドットファイル周りはgithubなどを使って管理したほうがいいのですが、今回はパソコンを初めて買って今からプログラミングしたいなと思っている方にも参考になればと思うのでやめておきます。
コンセプト
- シンプルに構築する
- 後々自分で変更が効かせられるようにする。
基本設定
- 3本指ドラッグ
System Preferences
→Accessibility
→Mouse&Trackpad
→Trackpad Options
→Enable dragging
→three finger drag
に設定。この3本指ドラッグですが、今のところ旧型のMacBookProのトラックパッドのほうが効きがいい。 - Tap to clickにチェックなどなどTrackPadの設定
- Keyboard設定
- Key Repeat: Fast
- Delay Until Repeat: Short
- Shortcuts: USキーボードを使っているので
Select the previous input source
にCommand+Space
を設定. - ショートカットはまだまだ変えているのですが、書ききれないので基本的にこれさえ変えればという設定だけ載せます。
- capslockキーをcontrolキーに変える:USキー配列なので設定。
- controlをESCに変える:タッチバーが予想以上に使いにくいので。jisの方はcapslockか何かをESCにしたほうがいいかもしれない。
普通にインストールしたアプリ
チェックを入れてないものはなんとなく入れたアプリ
- GoogleChrome
- GoogleChromeCanary
- Google日本語入力
- XCode & CommandLineTool
- JDK
- iterm2
- homebrew
- Atom
- VisualStudioCode
- AndroidStudio
- AndroidStudioPreview
- intellij
- Dash
- Alfred
- Slack
- LINE
- PopClip: instant translateを使うために入れた。
- Instant translate
- CheatSheet
Chromeで入れたほうがいい拡張機能
- Instant Translate
選択した英語(単語から文章でもなんでも)を日本語に翻訳してくれる便利拡張機能。
これがあるのとないのとでは公式ページを理解するスピードが全然違います。
使い方はwebページでわからない英語の文があったら選択してShift
+T
homebrewについて
なんでもhomebrew管理からの脱却
何をどこで管理しているのかをはっきりさせる。
構築を考える上で、上記のことに気を使えばbrew update
などで出るエラー内容を予測できると考えた。
homebrewで入れたもの
チェックが付いているもの以外はお好み
-
git
brew install git
-
zsh
brew install zsh
-
emacs
brew install emacs
-
tmux
brew install tmux
-
peco
brew install peco
pecoの設定は後ほどリンク
-
docker
brew install docker
&brew cask install docker
-
go
brew install go
-
kotlin
brew install kotlin
個人的にやっているプログラミング言語。
とりあえず試したいプログラミング言語はbrewでinstallすると良いと思います。バージョン管理が頻繁に必要な場合、
rbenv
,pyenv
やanyenv
などを検討されると良いと思います。その場合、PATHに気をつける。
bashからzshへ
$ sudo emacs /etc/shells
or $ sudo vi /etc/shells
以下を追加
/usr/local/bin/zsh
以下のコマンドを実行
$ chsh -s /usr/local/bin/zsh
$ exec $SHELL
zshに色をつけよう
このへんのプラグインはたくさんあって何にすればいいのかわからない場合が多い。
実際、使って見ないとわからない事も多い。
色々使ってみた感想、結局oh-my-zshが一番かんたんにセッティングできた。
他のものを使ってみたいという方にはzplug、preztoなどのgithubを見るといいと思う。
個人的にはzplugのREADMEがめちゃくちゃキレイで読みやすかった。ただ、zplugはプラグインをよく選ばないと読み込み速度が遅くなるのでその辺を注意しなければいけないと思った。
今回はてっとり早く構築したいのでoh-my-zshをインストールしたいと思う。
zplugに関するコメントをもらったので後日zplugについて追記するかもしれません。
zplugの記事を書きましたのでoh-my-zshではなくzplugで設定されたいかたはこちらの記事を参考にしてください。
zplugのほうがギーク向けなのでなんでもいいという人にはoh-my-zshでいいと思います。
oh-my-zshをインストール
.zshrc
をすでに書いている人は以下のコードを実行すると上書きされるので退避しておくとよい。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
何をやっているのか気になる方はinstall.shを見るといいと思います。
Gitで管理することになります。
ここでgitという言葉を聴いたことのない方はUdemyの[もう怖くないGit!チーム開発で必要なGitを完全マスター]を見るといいと思います。有料ですが、gitのことをわかりやすく動画で説明してくれています。
ホームディレクトリに色々ドットファイルが作られていることを確認する。
$ ls -a
$ emacs .zshrc
or vi .zshrc
色々バババと書いてある。themeの記述を変えるといい感じになる。カスタマイズ系は公式githubを参考にカスタムする。
以下を追加。homebrewのpath
export PATH=/usr/local/bin:$PATH
pecoの設定
# peco
function peco-history-selection() {
BUFFER=`history -n 1 | tail -r | awk '!a[$0]++' | peco`
CURSOR=$#BUFFER
zle reset-prompt
}
zle -N peco-history-selection
bindkey '^R' peco-history-selection
起動コマンド→Ctrl
+r
powerline themeを入れる場合の注意点
powerlineという有名なthemeがあります。自分もEmacsのカスタムで入れています。
これには特殊なフォントを使うのでそれをインストールする必要があります。
これもほとんどの場合、公式ページなどに書いてあるのですが、よく読み飛ばしてしまう場合があるので書いておきます。
powerline/fonts
- クイックインストール
$ git clone https://github.com/powerline/fonts.git --depth=1
$ cd fonts
$ ./install.sh
$ cd ..
$ rm -rf fonts
自分はD2Coding for Powerline
というフォントを使っています。
iterm2をいい感じにする。
おすすめtheme: Dracula
なんか癖になる色。自分はAtomやVScodeにもDraulaを使っています。
エディタのthemeは統一すると見やすくなることもあります。
iterm2のカスタムは人によって変わるので調べて自分の使いやすいように変えると良い。
- 変更方法
この辺は適当にZipをダウンロード&解凍
itermのPreferences
→Profiles
→Color
→右下のColorPreset
→import
をクリック先程解凍したフォルダからthemeファイルを選択
以上の作業をすればColor Presets
で選択可能になる。
- 背景透明化
Preferences
→Window
→Transparency
操作方法などはググって慣れるしかない。
ここからはWEB系プログラムで使う設定
Node.jsのインストール
今のフロントエンドでは欠かすことのできないNode.js、そのバージョン管理には様々なものが使われています。
nvm
,nodebrew
,ndenv
など。プロジェクトによってバージョンの変わるNode.jsをhomebrewや公式のZipなどでインストールしてしまうと後々めんどくさいことになります。
さて、nvm
,nodebrew
,ndenv
などたくさんあるバージョンの中でどれを入れればいいのか。これには好みなどが左右します。
- 管理しやすそうなのは
nodebrew
です。ですが、perlを使用しているところを見ると無駄に重そうという印象。 - ndenvは.node-versionというファイルを使用することで自動的に変更できる(README読んだだけ)。
ですが、更新が止まっているっぽいので保留。 - nvmは公式の情報も一番多かったのでこれに決めました。
nvmのインストール
色々インストールの仕方がありますが、できるだけGitで管理したいため、Git installを使用します。
ホームディレクトリに移動
$ cd
以下のコマンドを実行
$ git clone https://github.com/creationix/nvm.git .nvm
$ cd .nvm
$ git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
.zshrcに以下を追加
# node
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
nodeのバージョンをインストール
$ nvm install v7.9.0
バージョンを指定する
$ nvm alias default 7.9.0
& $ nvm use v7.9.0
ここまで終わったらnode -v
& npm -v
で確認。
以上になります。
Androidアプリ開発で使うコマンドを使えるようにする。
最近Android開発を趣味で勉強しているので付け加えてみた。
DroidKaigi2017のコマンドなしでぼくはAndroid開発できない話の動画を見ると、とても参考になります。ありがとうございました。
# android
export ANDROID_DIR=$HOME/Library/Android/sdk
export PATH=$PATH:${ANDROID_DIR}
export PATH=$PATH:${ANDROID_DIR}/platform-tools
export PATH=$PATH:${ANDROID_DIR}/tools
こんな感じで設定。
後はadb-peco
とか入れればいいと思います。
まだまだなのでこれから勉強がんばります。
まとめ
2年か3年前にanyenvの記事を書きました。「いいね」をくれた方ありがとうございます。
今回はhomebrewで管理するもの、gitで管理するものの区別を意識して環境構築しました。
gitを使うので、bashからzshにかえ、ブランチなどをわかりやすく表示したりすることにしました。
なんとなくこれ使うとかではなく、公式とか見てよく検討し何故それを使うのかを自分の中で納得できれば構築後、すごく満足しますよね。
とかインフラエンジニアっぽい事言ってみる。笑(インフラエンジニアではないのですが。。。)
全く関係ないことだけど、MacBook Proのタッチバーめっちゃ使いにくい。(泣)