なにこれ
macを新しくしました。
いや、厳密には「新しいやつやるから古いやつ返せ」というお達しを放置していたら期限が来てしまい、使ってたPCが回収されてしまったので、強制的に全部新しく構成する必要が出てしまいました。
で、環境については個人的にやっておきたいこととか結構あって、思い出しながらやってたら、なんかもうかなり大変だったので手順をまとめます。
手順1: macそのものの設定
OS自体を最新に
確実に不要なショートカットは全部Dockから除外して(Safariもいらんけどcheromeとか入れるまではレギューラー扱い)、砂漠を眺めます。
わぁ綺麗(白目)。いつのバージョンだよ。
最新版をインストールして再起動します。
修飾キー
を押して、キーを設定します。
普段USキーを使っているのですが、まず使わないCapsLockがこんな押しやすいところにあるのが許せないのでCommandキーに変更。
標準ショートカットの全除外
システム設定
> キーボード
> ショートカット
> サービス
こんなもん全部いらないです。
というかCMD+Shift+L
でsafariが起動して喜ぶ人いるんですかね?
旧人類なのでライブ入力は利用しません(最速を是とするとか書いたばかりなのにね)。
入力モード切替えがctrl+space
だとIDEによっては補完とショートカットが被って面倒なので、古いスタイルであるところのcommand+space
に変更。
spotlight検索が少し性能が上がったらしいので、飽きるまではalt+space
をspotlightに変更。
[当日追記]
使いにくい。Alfred入れました。
諸々ダウンロード
手順2: 開発環境
HomeBrew
HomeBrew をインストールします。
公式の手順通り
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
を実行。
途中でパスワードを聞かれるので入力。
==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
Password:
==> Installation successful!
が出たらとりあえずOK。
一応確認。
$ brew -v
Homebrew 2.1.13
Homebrew/homebrew-core (git revision e058; last commit 2019-10-13)
fish shell
普段使ってる標準shellのfishをインストールします。
brew
でインストールしてバージョン確認、デフォルトシェルの切替えを行ないます。
$ brew install fish
$ which fish
/usr/local/bin/fish # これをコピー
$ sudo vim /etc/shells # コピーしたディレクトリをこのファイルの末尾に追加
$ chsh -s /usr/local/bin/fish
Changing shell for ***.
Password for ***: パスワード
この状態でターミナルを再起動すると、トップにWelcome to fish, the friendly interactive shell
と出てfishが起動します。
プロンプトの変更
私は普段、[現在時刻]:今のディレクトリ >
というプロンプトにしています。
初期設定のプロンプトはごちゃごちゃ使いにくいので修正します。
function fish_prompt --description 'Write out the prompt'
set color_cwd $fish_color_param
set suffix '>'
if test -z $WINDOW
echo (set_color $color_cwd)'['(date "+$c2%H$c0:$c2%M$c0:$c2%S")']'(set_color normal):(set_color $fish_color_cwd)(prompt_pwd)(set_color normal)" $suffix "
else
echo (set_color $color_cwd)'['(date "+$c2%H$c0:$c2%M$c0:$c2%S")']'(set_color normal)'('(echo $WINDOW)')'(set_color $fish_color_cwd)(prompt_pwd)(set_color normal)" $suffix "
end
end
コマンドの作成
先にpecoをインストールしておきます。
pecoが何かについては公式を読んでください。神ツールです。
$ brew install peco
History
コマンド履歴の一覧を取得しpecoで選択、実行できるようにします
# `peco_select_history (option: args)` or `ctrl+r`
function peco_select_history
if test (count $argv) = 0
set peco_flags --layout=bottom-up
else
set peco_flags --layout=bottom-up --query "$argv"
end
history|peco $peco_flags|read cmd
if [ $cmd ]
commandline $cmd
else
commandline ''
end
end
Process Kill
起動しているコマンドの一覧を取得し、pecoで選択してkillできるようにします。
# `peco_kill (option: args)` or `ctrl+k`
function peco_kill
if test (count $argv) = 0
set peco_flags
else
set peco_flags --query "$argv"
end
ps ax -o pid,time,command | peco $peco_flags | awk '{print $1}' | xargs kill
end
sshを簡単にできるように
~/.ssh/config、あるいは指定ファイルから環境を指定してsshできるようにします。
# `sshc (option: file_name)`
function sshc
set conf "$HOME/.ssh/config"
if test (count $argv) = 0
echo 'default'
else
set conf $argv[1]
echo $conf
end
set host (grep 'Host ' $conf | awk '{print $2}' | peco)
if test $conf
echo "ssh -F $conf $host"
ssh -F $conf $host
end
end
ショートカット作成
config.fish
に登録してあげればOK。
function fish_user_key_bindings
bind \cr 'peco_select_history'
bind \ck 'peco_kill'
end
node
nodeを入れnで管理します。
$ brew install node
$ npm install -g n
$ sudo n latest
go
$ brew install go
$ cd `適当なgoプロジェクト`
$ go run ***
# 依存関係のインポートが始まってプログラムが動けばOK
go: finding github.com/**/** v*.*.*
go: finding github.com/**/** v*.*.*
go: finding github.com/**/** v*.*.*
...
・・・と、これ系の処理は無限に発生するので必要が出てき次第、順次インストール。
vim
最速で設定するのはVim Bootstrapに任せてます
# vim
$ curl 'https://vim-bootstrap.com/generate.vim' --data 'langs=go&langs=javascript&langs=rust&langs=scala&langs=typescript&langs=python&langs=html&langs=ruby&editor=vim&frameworks=vuejs' > ~/vimrc
# nvim
$ curl 'https://vim-bootstrap.com/generate.vim' --data 'langs=go&langs=javascript&langs=rust&langs=scala&langs=typescript&langs=python&langs=html&langs=ruby&editor=nvim&frameworks=vuejs' > ~/.config/nvim/init.vim
・・・で、nvimはいいのですが、標準のvimはクリップボードが使えないので役に立たない使いにくいです。
使いやすいように対応します。
# 今のvimはどれだっけ?
$ which vim
/usr/local/bin/vim
# 邪魔っす。無慈悲に名前変更
$ sudo mv /usr/local/bin/vim /usr/local/bin/old_vim
# 新しくvimを取得
$ brew install vim
# clipboard使えるか確認
$ /usr/local/Cellar/vim/***/bin/vim --version | grep clip
# linkを貼って元のファイルに上書き
$ sudo ln /usr/local/Cellar/vim/***/bin/vim /usr/bin/
# 切り替わってますね
$ ls -la (which vim)
/usr/local/bin/vim -> ../Cellar/vim/***/bin/vim
# 更新完了
$ vim --version | grep clipboard
+clipboard +keymap +printer +vertsplit
+emacs_tags -mouse_gpm -sun_workshop -xterm_clipboard
# .vimrcの適当なところに `set clipboard+=unnamed` を追加
3. 各種アプリの設定
Vidual Studio Code
codeコマンドの追加
code
で実行できるようにします。
- VSCode起動
Command + Shift + P
-
>Shell Command: Install 'code' command in PATH
を実行
VSCode内のターミナルをfishに変更
zshが標準で開いてしまい困るので(zshの設定を入れればいいだけの話だけど)、fishを使うように変更します。
-
command + ,
で環境設定を開く - 検索窓に
terminal.integrated.shell.osx
を入れる
{
"terminal.integrated.shell.osx": "/usr/local/bin/fish"
}
JetBrain製品
こちらもzshが開いてしまうのでfishに変更。
環境設定
→ Terinal
→ shell path
ここでfishのパスを指定。
Karabiner-Elements
カジュアルに動かなくなっていて困った。
以下のように警告文が出るので、karabiner_grabber
とkarabiner_observer
の両方を許可してあげればいいのだけど・・・
幸い該当のファイルはどちらも同じディレクトリ(/Library/Application\ Support/org.pqrs/Karabiner-Elements/bin
)に入っているので、右クリックなどでファイルの場所を開き、ドラッグアンドドロップで入れてあげればOK
clippy
Shiftit
上寄せとか下寄せってあんま使わないんですよね。
Windowsぽいようなそうでもないような設定にします。
まとめ
今回はどうしてもやらざるをえない状況におかれてしまったので頑張ったけど、正直なところ大人しく移行アシスタントとか使ったほうが絶対に楽。
すごい時間かかった二度とやらん
ただ、不要なファイルや、消えていいんだかどうだかわからんファイルとかが綺麗さっぱり消えてるので、環境自体はすっきりした