概要
久しぶりにAppleシリコンのMacBookを購入したので初期設定を記載していきます。
NerdFontがJetBraninsのフォントと統合していたりと、より便利になった変化がありましたので備忘録です。
作業開始前準備
実施リスト
- Homebrewのインストール
- エディター インストール(自分の好みで)
Homebrewのインストール
macでのインストール作業はHomebrewをメインに使用するので、
公式サイトに従ってインストールしてください。
エディター インストール(自分の好みで)
今回は NeoVimを Homebrewからインストール
理由はプラグインが豊富そうだったから(完全に好み)
brew install neovim
vimの操作方法は以下を参考にしてください(よく忘れるので)
ターミナル設定
実施リスト
- ターミナルプロンプト設定(StarShipインストール)
- Nerd/JetBrain フォント設定
- フォントの設定/反映
StarShip/フォント インストール
Step 1. Starshipをインストール
Step 2. フォントのインストール
# starshipのインストール (mac)
curl -sS https://starship.rs/install.sh | sh
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
mkdir -p ~/.config && touch ~/.config/starship.toml
# startship 表示カスタム(お好みで)
# sudo vim ~/.config/starship.toml
# Nerdフォント(アイコン表示/字体に使用 JetBrains Mono Nerd install)
brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font
# フォント 有効化 (macOS Ventura v13以降のOSでは必要ないかも)
# fc-cache -f -v
vsCode/ターミナル上でのNerdFonts表示の有効化
Step 3. フォントの設定/反映
実施リスト
- VSCodeフォント設定
- ターミナルフォント設定
フォントファミリは有効にしたいNerdFonts名(色々種類がある)を指定する
VSCodeフォント設定
今回は JetBrainsMono Nerd Font Mono
を使用
VSCode内のターミナル表示にも影響するのでNerdFonts表示の有効化を実施
VScodeの右上の[ファイル]→[基本設定]→[設定]の検索で[font]で検索
settings.json で編集をクリック
どちらでも設定できるので JetBrainsMono Nerd Font Mono
を追記
ターミナル上でのフォント設定
[ターミナル]→[設定]→[フォント]から変更
フォント変更(JetBrainsMono)とアイコン表示(NerdFontが必要)を行いたいので VSCodeと同じく両方兼ね備えているJetBrainsMono Nerd Font Mono
を選択
Git管理とディレクトリ移動
実施リスト
- ghq+fzf(peco)+exa(lsの代わり)のインストール
- ghq+fzf(peco)+exa(lsの代わり)の設定
- cd + ls の設定(おまけ)
- zsh起動時の設定(おまけ②)
ghq+fzf(peco)+exa(lsの代わり)のインストール
brew install ghq fzf exa
# To install useful key bindings and fuzzy completion:
# $(brew --prefix)/opt/fzf/install
# ghqで管理するrootディレクトリを設定(この記事では~/srcとする)
git config --global ghq.root '~/src'
# exaコマンドの確認
exa -l -g --icons
ghq+fzf(peco)+exa(lsの代わり)の設定
前提条件
- デフォルトシェルでzshを使用している
- ghq+fzf(peco)+exaがインストールされている
exaをlsの代用として使用する設定
# エイリアス設定
# exaがインストールされている場合のみ有効化
if [[ $(command -v exa) ]]; then
alias e='exa --icons --git'
alias l=e
alias ls=e
alias ea='exa -a --icons --git'
alias la=ea
alias ee='exa -aahl --icons --git'
alias ll=ee
alias et='exa -T -L 3 -a -I "node_modules|.git|.cache" --icons'
alias lt=et
alias eta='exa -T -a -I "node_modules|.git|.cache" --color=always --icons | less -r'
alias lta=eta
alias l='clear && ls'
fi
ghq/fzf/exa 組み合わせ
cntl(^) + f
でGithubディレクトリを選択し移動
関数とそれをキーバインドさせる設定を~/.zshrc
に書き込み完成
source ~/.zshrc
で有効化させれば使えます
# # エイリアス設定
# ghq/fzf/exa 組み合わせ
function ghq-fzf_change_directory() {
# 選択したリポジトリへ移動 かつ
# 右にリポジトリのディレクトリ詳細を表示
local src=$(ghq list | fzf --preview "exa -l -g -a --icons $(ghq root)/{} | tail -n+4 | awk '{print \$6\"/\"\$8\" \"\$9 \" \" \$10}'")
if [ -n "$src" ]; then
BUFFER="cd $(ghq root)/$src"
zle accept-line
fi
zle -R -c
}
zle -N ghq-fzf_change_directory
bindkey '^f' ghq-fzf_change_directory
cd + ls の設定(おまけ)
cdの後にlsしたい
参考:cdした後にlsするのはzshにやらせよう
カレントディレクトリが変更されたときに発火するchpwd
を使用
下記を .zshrcに追記してあげる
# hook
## cd+ls
chpwd() {
if [[ $(pwd) != $HOME ]]; then;
ls
fi
}
# 読み込み(設定反映)
source ~/.zshrc
zsh起動時の設定(おまけ②)
zshシェル起動時にコマンドを実行させる
下記を .zshrcに追記してあげる
# zsh起動時の処理
## VSCodeのターミナルを使っていない、かつ、
## ターミナルでHomeディレクトリ展開時はcdコマンドを実行
if [ "$TERM_PROGRAM" != "vscode" ] && [ "$PWD" = "$HOME" ] ; then
cd ~/src
fi
## exa(lsの代わり)コマンドの実行
if [[ $(command -v exa) ]]; then;
exa --icons --git
fi
# 読み込み(設定反映)
source ~/.zshrc
最後に
少し前までは、字体フォントとアイコン表示用にNerdFontを別途インストールする必要がありましたが、jetBrainsのフォントとNerdFontが一体になっているのはかなり便利だと感じました。
ここまでのdotfileを置いておくので自分好みに設定してみてください~
~/.zshrc
# zsh起動時の処理
eval "$(starship init zsh)"
## HOMEディレクトリとVSCodeのターミナル以外でcdコマンドを実行
if [ "$TERM_PROGRAM" != "vscode" ] && [ "$PWD" = "$HOME" ]; then
cd ~/src
fi
## exa(lsの代わり)コマンドの実行
if [[ $(command -v exa) ]]; then;
exa --icons --git
fi
# aliases
alias g=git
# alias vim=nvim
# hook
## cd+ls
chpwd() {
if [[ $(pwd) != $HOME ]]; then;
ls
fi
}
## exaがインストールされている場合のみ有効化
if [[ $(command -v exa) ]]; then
alias e='exa --icons --git'
alias l=e
alias ls=e
alias ea='exa -a --icons --git'
alias la=ea
alias ee='exa -aahl --icons --git'
alias ll=ee
alias et='exa -T -L 3 -a -I "node_modules|.git|.cache" --icons'
alias lt=et
alias eta='exa -T -a -I "node_modules|.git|.cache" --color=always --icons | less -r'
alias lta=eta
alias l='clear && ls'
fi
# func
## ghq/fzf/exa 組み合わせ
function ghq-fzf_change_directory() {
# 選択したリポジトリへ移動 かつ
# 右にリポジトリのディレクトリ詳細を表示
local src=$(ghq list | fzf --preview "exa -l -g -a --icons $(ghq root)/{} | tail -n+4 | awk '{print \$6\"/\"\$8\" \"\$9 \" \" \$10}'")
if [ -n "$src" ]; then
BUFFER="cd $(ghq root)/$src"
zle accept-line
fi
zle -R -c
}
zle -N ghq-fzf_change_directory
bindkey '^f' ghq-fzf_change_directory
~/.config/starship.toml
# A minimal left prompt
format = """$character"""
# move the rest of the prompt to the right
right_format = """$all"""
[memory_usage]
disabled = false
threshold = -1
symbol = ""
style = "bright-black"
[hostname]
ssh_only = true
disabled = false