1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M1/M2/M3 MacBookPro 初期設定/ Nerdフォント,ghq+fzf(gitリポジトリ管理)+exa,zshrc,ターミナル/VSCode表示,

Last updated at Posted at 2023-12-09

概要

久しぶりにAppleシリコンのMacBookを購入したので初期設定を記載していきます。
NerdFontがJetBraninsのフォントと統合していたりと、より便利になった変化がありましたので備忘録です。

作業開始前準備

実施リスト

  • Homebrewのインストール
  • エディター インストール(自分の好みで)

Homebrewのインストール

macでのインストール作業はHomebrewをメインに使用するので、
公式サイトに従ってインストールしてください。

エディター インストール(自分の好みで)

今回は NeoVimを Homebrewからインストール
理由はプラグインが豊富そうだったから(完全に好み)

zsh ターミナルに入力
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を追記
スクリーンショット 2023-12-09 15.34.45.png

ターミナル上でのフォント設定

[ターミナル]→[設定]→[フォント]から変更
フォント変更(JetBrainsMono)とアイコン表示(NerdFontが必要)を行いたいので VSCodeと同じく両方兼ね備えているJetBrainsMono Nerd Font Monoを選択
スクリーンショット 2023-12-09 15.26.20.png

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の代用として使用する設定

vim ~/.zshrc
# エイリアス設定
# 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で有効化させれば使えます

vim ~/.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に追記してあげる

.zshrc
# hook
## cd+ls
chpwd() {
    if [[ $(pwd) != $HOME ]]; then;
        ls
    fi
}
# 読み込み(設定反映)
source ~/.zshrc

zsh起動時の設定(おまけ②)

zshシェル起動時にコマンドを実行させる
下記を .zshrcに追記してあげる

.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
vim ~/.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
vim ~/.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
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?