私の Mac / Macbook のおすすめ初期設定 – OSシステム設定 / Google日本語入力 / VsCode / Alfred / Git / zsh / iTerm2 など

# Mac OSの設定

設定メニューの探し方は、メニューの階層を辿っていくより、キーワード検索してしまうのが手っ取り早い

<img width="709" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/9c1459c4-85f6-4cbc-af50-2fa7a435bef2">

## カーソル移動速度を上げる

<img width="710" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/ba9fd838-00ad-4724-97cd-472c3e9bdd14">

## 修飾キーでCapsLockをCommandにする

<img width="697" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/1b7e708d-3e8f-4899-a018-0448db591505">

## Option + Tab で同じアプリ内のウィンドウを切り替え可能にする

キーボードショートカット > キーボード > 「次のウィンドウを操作対象にする」で Option+tabを設定する

![image](https://github.com/YumaInaura/YumaInaura/assets/13635059/4eb3a78b-1d52-4397-aa95-cecb362ce855)


## トラックパッドでサイレントクリックをオンにする

指を押し込まずにクリックできるようになる

<img width="701" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/d158a172-213d-44b5-8279-fd8d5a836dfb">

##  トラックパッドで3本指ドラッグを設定

サイレントクリック有効時はこの設定は必須

<img width="697" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/dee698cf-6256-4de4-b84f-0688e4bd9fa3">

## 誤操作の多いトラックパッドのぺージ間スワイプを無効にする

<img width="707" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/54da00c7-a701-4492-bcca-d784bc87a32e">

## 通知センターのトラックパッドジェスチャーを無効にする

<img width="690" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/77a13bb7-2001-4b45-a8d5-65012cddd843">



## Dockを自動的に隠す

Dockを自動的に表示/非表示をオンにする

![image](https://github.com/YumaInaura/YumaInaura/assets/13635059/ed28808a-b711-4428-8c1c-1b1a87a99c07)

画面下のこのバーが自動的に隠れるようになる

<img width="1182" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/67dcb3be-bb7e-4d19-8026-cd13e7d570e4">

## Dock で最近使ったアプリを非表示にする

「アプリの提案最近使用したアプリをDockに表示」を無効に

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89618/163cc1f7-42dd-ebf9-bca7-852fb7fb218d.png)


## ホットコーナーのショートカット

ホットコーナーのショートカットでデスクトップを表示できるようにする
以下設定ではカーソルを画面左下に持ってくると、いつでもデスクトップが表示できるようになる

<img width="714" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/bd865313-2b99-405c-95ab-77fd1be86d5c">


## 時刻を日本時間に

位置情報サービスをオンにしないと日本時間にできないかも?

<img width="702" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/80beab8e-fb6f-45dc-842d-15729d54c4f7">

<img width="703" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/0bccf7c6-854b-4d8d-aa1a-93ee5bd26891">

# Google Chrome をインストール

デフォルトのWebブラウザに設定しておく

<img width="707" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/f7fefc88-1f57-43d9-ac6a-3ef8e4810e2e">

# IME 

## Google日本語入力

### 環境設定で「半角スペース」「バックスラッシュ」の設定をする

<img width="264" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/e1249dda-0437-46ec-840a-a90dfe506e1c">

<img width="518" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/6693f96e-6efe-4036-a24d-068716c304c8">

### 入力補助の設定でプログラミングで使う文字を「半角」に強制する

<img width="521" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/58072354-5572-4e95-af2d-21d3b356ddd8">

( 2023/12/16現在、なぜかMacの「サイレントクリック」だと変更が反映されず、トラックパッドを指で押し込んだら反映された )

### 入力ソースをGoogle日本語入力のひらがな・英字だけにする。

Mac OSの設定の「キーボード設定」で利用する入力ソースをGoogle日本語入力のひらがな・英字だけにする。
(Mac標準の英字は消せないのでそのままに)

![image](https://github.com/YumaInaura/YumaInaura/assets/13635059/c5e531df-6ed7-4697-9760-1acb72b06700)


## Divvy

個人的必須Macアプリ

キーボードショートカットでウィンドウを画面いっぱいに表示できるようになる

<img width="472" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/f3747f16-99fc-4324-a21f-08c87ee54aa9">



<img width="371" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/c6b60cbc-f2e8-4759-b30c-711d5e885c50">


( フルスクリーンの全画面表示ではないので、こんな風にデスクトップが分かれてしまわないのが良い )

<img width="383" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/b2f8c31e-ef5e-49aa-ac0c-d60c431a6fe4">


## Alfred

個人的必須アプリ
クリップボード履歴を使うために必要 (ただしパワーパックが必要で有料)

### Alfredの設定

- Keep Plain Text / Keep Images などの保持期間を長くしておく
- Command+Ctrl+V をショートカットに割り当てると、他ショートカットとも干渉せずに使いやすい

![image](https://github.com/YumaInaura/YumaInaura/assets/13635059/7d1b9b65-3f7c-47e5-a90b-5555c6b6490a)

# プログラミングの開発用

## Home Brew をインストール

https://brew.sh/ja/

profileファイル ( `~/.zshrc` `~/.bashrc` とか ) などに以下を追加して  brew コマンドを利用できるようにする

```
eval $(/opt/homebrew/bin/brew shellenv)
```

## VsCode をインストール

https://code.visualstudio.com/download

### 設定

コンソールでcodeコマンドを使えるようにして、コンソールからVsCodeを開けるようにする
Command+Shift+Pでコマンドパレットを表示して、VsCodeコマンドを実行すればインストールできる

<img width="639" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/94621663-eb69-4ce9-a324-45fe530ba71d">


## Docker For Mac

https://docs.docker.com/desktop/install/mac-install/

必要あればCPU/メモリの制限設定を変える

<img width="1260" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/77d9f7fb-c7f9-4b1a-872e-2da4d57a3d2b">



## pecoのインストール

```
brew install peco
```

profileファイル ( `~/.zshrc` `~/.bashrc` とか ) に以下設定を追加すると、コンソールでCtrl+Rのショートカットで、インタラクティブにコマンド履歴を選択できるようになる

```
function peco-history-selection-keep() {
  BUFFER=$(history -n 1 | tail -r  | awk '!a[$0]++' | peco --layout=bottom-up --query="$BUFFER" --print-query | tail -n 1)

  CURSOR=$#BUFFER
}
zle -N peco-history-selection-keep
bindkey '^R' peco-history-selection-keep

```

例

<img width="553" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/31e964e6-9a08-4eda-b091-c4c56928bb5c">

## iTerm2 のおすすめ設定

別記事を参照
https://qiita.com/YumaInaura/items/652a0229011270f486f0

## git

### Gitをインストール

gitコマンドを入力したらXcodeのインストールをうながされて、Xcodeと同時にインストールされたような

```
$ git --version
git version 2.39.3 (Apple Git-145)
```

brew で入れる場合はこう

```
brew install git
```

profileファイルに以下を設定

```
export PATH="/opt/homebrew/bin:$PATH"
```

brew の方が少しバージョンが新しい

```
git --version
git version 2.43.0
```

### ~/.gitconfig のエイリアス設定


```
[alias]
  # 普通のエイリアス
  ck = checkout
  br = branch
  st = status -s
  ; cp = cherry-pick

  # 現在のブランチを表示
  current = !git symbolic-ref --short HEAD

  update = !git add . && git commit -m "update"

  # originからpullする
  pull-from-origin = !git pull origin $(git current)
  po = pull-from-origin

  # なにも変更差分がない状態でコミットを作ってpushする
  pr = "!sh -c 'git checkout -b $1 && git commit --allow-empty -m $1 && git push' -"

  # 現在ブランチをリモート(origin)の最新の状態に書き換える
  reset-current = !git fetch && git reset --hard origin/$(git current)


  # 現在のコミットを壊してコミット未反映状態にする
  break = reset HEAD^

  # 今の作業内容をammendする
  forget = !git add . && git commit --amend
  fg = !git forget

  cm = commit
  cma = commit --amend
  amend = commit --amend

  # 新規コミットを作る
  create = !git add . && git commit
  cr = !git create

  # rebaseでもmergeでもcherry-pickでもabortする
  abort = !git rebase --abort || git merge --abort | git cherry-pick --abort

  # rebaseの時の変更を反映する
  change = !git add . && git rebase --continue

  # コミットされていないものはすべて消す
  vanish = !git reset . && git checkout . && git clean -fd
```


## zsh

zshを利用している場合の設定 (おすすめ)

### zshの設定

`~/.zshrc`

```
# zsh基本設定
export EDITOR=vim

autoload colors
colors
PROMPT="%{${fg[green]}%}%(!.#.$) %{${reset_color}%}"

zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
fpath=(~/.zsh $fpath)
autoload -Uz compinit && compinit

export LANG=en_US.UTF-8

zstyle ':completion:*' ignore-parents parent pwd ..

HISTFILE=~/.zsh_history
HISTSIZE=100000
SAVEHIST=100000
setopt hist_ignore_dups
setopt hist_ignore_all_dups
setopt hist_ignore_space
setopt hist_reduce_blanks
setopt hist_no_store
setopt share_history
setopt auto_pushd
setopt pushd_ignore_dups
set paste

export LSCOLORS=gxfxbxdxcxegedabagacad
zstyle ':completion:*' list-colors $LSCOLORS

# PROMPT ^ gitで現在のブランチを表示する
RPROMPT="%1(v|%F{green}%1v%f|) [%~]"
autoload -Uz vcs_info
zstyle ':vcs_info:*' formats '[%b]'
zstyle ':vcs_info:*' actionformats '[%b|%a]'
function precmd_vcs() {
  psvar=()
  LANG=en_US.UTF-8 vcs_info
  [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"
}
precmd_functions+=(precmd_vcs)

# COLORING
export LSCOLORS=gxfxbxdxcxegedabagacad
zstyle ':completion:*' list-colors $LSCOLORS

# peco
function peco-history-selection-keep() {
  BUFFER=$(history -n 1 | tail -r  | awk '!a[$0]++' | peco --layout=bottom-up --query="$BUFFER" --print-query | tail -n 1)

  CURSOR=$#BUFFER
}
zle -N peco-history-selection-keep
bindkey '^R' peco-history-selection-keep

# brew
eval $(/opt/homebrew/bin/brew shellenv)

# brew git
export PATH=/usr/local/bin/git:$PATH
```

# Vimの設定

`~/.vimrc`

```
set clipboard+=unnamed

:syntax on
```

# チャットメンバー募集


何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ


# Twitter

https://twitter.com/YumaInaura