さかのぼること2022年の5月、それまで新卒で入社してから勤めていたサービス業の会社を辞めて現在の会社に入社し、晴れて「IT業界の人」の仲間入りをしました。
そしてそれを機に共に仕事をしていくことになった相棒がMacBook Proでした。
今回は仕事でMacを使っていくうえでより快適に仕事をするために、会社の先輩に教えていただいたツールをいくつか導入していくことにしました。
実行環境
- macOS Monterey バージョン 12.3.1
Raycast
RaycastはMacに標準であるSpotlightのようなランチャーツールです。
アプリやファイルなどを検索して探すことができるアレです。
そのSpotlightの上位互換にあたるのがこのRaycastです。
早速導入します。
ダウンロード方法は簡単で、公式サイトのトップページにあるDownload for Mac
をクリックするだけでダウンロードが始まります。
RaycastはデフォルトではOptionキー+スペースバーのショートカットキーで開きますがこちらは変更することが可能です。
僕は特に変更を行わなかったのですが、もし変更したい場合はGeneral → Raycast Hotkey
から変更することができます。
Raycastを開いてGeneral
と入力してください。
デフォルトのRaycast
インストール直後のRaycastでは、Spotlightと同様にアプリケーションやフォルダの検索が可能です。
この機能に加えて、Raycastではスリープやシャットダウンといったシステム自体の操作もすることができます。
やり方は簡単でRaycastを開いてsleep
やshutdown
と打つだけ。
僕は今までマウスに持ち替えて左上までカーソルを持って行って・・・とやってたのですが、マウスに持ち替えるということが小さな手間だったということに気付かされました。
さらにもう1つ便利だなと思ったのはクリップボード履歴の機能。
ちょっと前にコピーしたやつもう1回使いたいな〜というシチュエーションで大活躍してくれます。
こちらもRaycastを開いてclipboard
と打つだけ。
テキストから画像・ファイルまで何でもOK。
この記事を書く際にも何度か使いました。
地味にべんり
拡張機能(extensions)
RaycastはStoreからExtensionsをインストールすることでもっと便利に利用することができます。
調べてみると、かゆいところに手が届くようなものから「それもできるの?」というものまで多種多様な拡張機能がありました。
その中でとりあえず自分がインストールしたのはこちらです。
- Google Workspace
Googleドライブ内のファイルを検索できます。
さらに各種ドキュメントの新規作成も可能です。
ただ、日本語で検索しようとするとEnterで変換を確定させる際に下で選択されているファイルが開いてしまうのがとても解せないです・・・
- Google Chromeをプロファイルごと分けて操作する
メインに使っているプロファイルとは別のプロファイルでブラウザを開きたいときに重宝します。
僕はちょうど直近で使いたくなる機会があり、導入しました。
- 回線速度を調べる
そのまんまです。speedtest
と入力するだけで利用している回線のスピードを測ることができます。
- 現在使われてるポートを確認・解放する
現在開いているポートを一覧表示して解放していくことができます。
このほかにもNotionを作成できるものやAWSの情報を見れたりするものがあったりと、Raycastホントになんでもできちゃうんじゃね?と思ってしまわずにはいられませんでした。
peco
お次はターミナルでコマンドを打つときに活躍するpecoを導入していきます。
僕の場合はpecoをインストールする前にシェルの設定を行ったので、もう今zshを使ってるよーという方はこちらから読んでいってください。
シェルを設定
まずは今使ってるMacのシェルスクリプトを確認
$ echo $SHELL
/bin/bash
bashのようでした。
調べてみるとpecoはbash4以上であれば動くらしいので早速bashのバージョンをチェック。
すると
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)
Copyright (C) 2007 Free Software Foundation, Inc.
あれえ・・・bash4でもないやんけ・・・
というわけでシェル自体のバージョンアップも必要なことが確定したのですが、バージョンアップするのであればいっそのことzshにしちゃえばよくね?と思い、zshへの移行からはじめていきました。
- bashからzshへ
まずはzshをHomebrewでインストール
$ brew install zsh
確認をして
$ which zsh
/usr/local/bin/zsh
よさそう。
次にインストールしたzshをログインシェルに設定します。
$ chsh -s /usr/local/bin/zsh
Changing shell for [ユーザー名].
Password for [ユーザー名].
chsh: /usr/local/bin/zsh: non-standard shell
ユーザー名とパスワードを入力したところnon-standard shell
とでました。
気にせずにターミナルを再起動させたのですが、どうやらシェルが変わってない。
調べてみると、/etc/shellsに先ほどのパスを追加してあげればいいそうです。
$ vi /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
# 先ほどのパスを追加
/usr/local/bin/zsh
これで再度ターミナルを再起動させたところ、今度は初期設定がはじまりました。
This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~). This function can help you with a few settings that should
make your use of the shell easier.
You can:
(q) Quit and do nothing. The function will be run again next time.
(0) Exit, creating the file ~/.zshrc containing just a comment.
That will prevent this function being run again.
(1) Continue to the main menu.
--- Type one of the keys in parentheses ---
ここはzshの設定を記述するファイルの/.zshrcを作成するため(0)を選択します。
ここまででzshのインストールが完了しました。
- 起動時の警告
上記の手順を完了すると、以後シェルを新しく起動させるたびに以下のようなメッセージが出ます。
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
内容としては「安全じゃないディレクトリがあるから、compaudit
で確認してください」とのことです。
実際にcompaudit
を実行してみると
$ compaudit
There are insecure directories:
/usr/local/share/zsh/site-functions
/usr/local/share/zsh
insecure
だと言われているディレクトリが出てきました。
これらをchmod
で権限を修正していきます。
$ chmod 755 /usr/local/share/zsh/site-functions
$ chmod 755 /usr/local/share/zsh
これで警告文は出なくなりました。
ここまででzshの設定がようやく完了したのでいよいよpecoをインストールしていきます。
pecoをインストール
インストールのコマンドはこちら
$ brew install peco
インストールができたら、次に~/.zshrc
に設定を追記していきます。
$ touch ~/.zshrc
$ vi ~/.zshrc
まずは以下のコードを追記します。
内容としては、ctrl+R
を使うことで過去に使ったコマンドを一覧表示させてそこから実行できるようになるものです。
# ctrl+Rで過去に実行したコマンドを選択できるようにする。
function peco-select-history() {
BUFFER=$(\history -n -r 1 | peco --query "$LBUFFER")
CURSOR=$#BUFFER
zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history
追記ができたら1度ターミナルを再起動させます。
これで実行できるようになりました。
もっとpeco
さらにこちらの機能も追加してみました。
- cdr
cdrは移動したディレクトリの履歴を検索する機能で、先ほどのコマンドの履歴を検索する機能のディレクトリ版といった感じです。
ふつう、ディレクトリを移動するときはcdコマンドを使って移動していくと思います。
しかし何度もcdで移動していくのはめんどくさい・・・そんなあなたにおすすめです。
(こちらはzsh 4.3.11以降で使用できます。バージョンは% zsh --version
で確認できます。)
# cdrの設定
if [[ -n $(echo ${^fpath}/chpwd_recent_dirs(N)) && -n $(echo ${^fpath}/cdr(N)) ]]; then
autoload -Uz chpwd_recent_dirs cdr add-zsh-hook
add-zsh-hook chpwd chpwd_recent_dirs
zstyle ':completion:*' recent-dirs-insert both
zstyle ':chpwd:*' recent-dirs-default true
zstyle ':chpwd:*' recent-dirs-max 1000
zstyle ':chpwd:*' recent-dirs-file "$HOME/.cache/chpwd-recent-dirs"
fi
# ctrl+Fで過去に移動したことのあるディレクトリを選択できるようにする。
function peco-cdr () {
local selected_dir="$(cdr -l | sed 's/^[0-9]\+ \+//' | peco --prompt="cdr >" --query "$LBUFFER")"
if [ -n "$selected_dir" ]; then
BUFFER="cd `echo $selected_dir | awk '{print$2}'`"
CURSOR=$#BUFFER
zle reset-prompt
fi
}
zle -N peco-cdr
bindkey '^f' peco-cdr
こちらを記述することでctrl+F
で過去に移動したことのあるディレクトリ一覧を表示し、そこから飛びたいディレクトリを選択することができます。
- ブランチの切り替え
この記事を読んでくださっている皆さまはブランチの切り替えをどのようにされているでしょうか。
僕の場合は、まずgit branch
で切り替え先のブランチ名を確認したあとにそのブランチ名をコピーし、そのあとでgit checkout
と入力して続きにコピーしたブランチ名を貼り付けています。
もし同じようにされている方がいらっしゃいましたらぜひとも以下のコードを追記してみてください。
alias gco='git checkout $(git branch | sed -r "s/^[ \*]+//" | peco)'
こちらはgco
と入力することでブランチの一覧が表示され、そこから目的のブランチを選択するだけでブランチを切り替えてくれるものになります。
僕は今までブランチの切り替えにいくつも手順を踏んでしまっていたので、これはかなり楽になりました。
Mac歴約6ヶ月の僕が快適に仕事をするために、まずはRaycastとpecoを導入してみました。
どちらも使いこなしていければかなり効率化が図れるんじゃないかと思います。
もし、他にもこんなツールがあるよ!といったおすすめがありましたらぜひぜひ教えていただけると嬉しいです。