Macを買った時に設定すること(自分用)

Macが急に壊れて買い替えることになり、一から設定やアプリのインストールをして面倒だったので、今後も買い替えた時のために行ったことをまとめておきます。(順次追加)

Mac本体の設定

カーソルの移動速度を速くする

システム設定→トラックパッド→軌跡の速さを一番速いにする

一番初めに設定する。

キーの速度を速くする

システム設定→キーボード→キーのリピート速度を一番速くする システム設定→キーボード→リピート入力認識までの時間を一番短くする

ディスプレイを常にNightShiftの状態にする

システム設定→ディスプレイ→NightShift...→スケジュールをカスタムに指定→開始を3:00、終了を2:59を指定

Spotlightを使わないように設定

Raycastを使うため、Spotlightを使わないように設定する。

システム設定→キーボード→キーボードショートカット→Spotlight→Spotlight検索を表示のチェックを外す

システム設定→SiriとSpotlight→Spotlightのプライバシー...→+をクリック→Macintosh HDを追加

低電力モードにする

システム設定→バッテリー→低電力モードを「常」に指定

USキーボードの設定

USキーボードを買って、デフォルトだとJISで使っていたキーバインドや日本語が使えないので変更。

変更にはKarabiner-Elementsというアプリを使う。

公式サイトhttps://karabiner-elements.pqrs.org/

commandで日本語入力

USキーボードでは日本語入力ができないので設定。

まず日本語環境向けの設定をインストールする。

Karabiner-Elementsを開く→Complex Modifications→Add ruleをクリック→Import more rules from the Internet(Open a web browser)をクリック→For Japanese(日本語環境向けの設定)(rev 6)のImportをクリック

Karabiner-Elementsを開く→Complex Modifications→Add ruleをクリック→「コマンドキーを単体で押した時に、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな)(rev 3)」をEnableにする

コロンとセミコロンの変更

Karabiner-Elementsを開く→Complex Modifications→Add ruleをクリック→Import more rules from the Internet(Open a web browser)をクリック→「Exchange semicolon and colon」のImportをクリック

Karabiner-Elementsを開く→Complex Modifications→Add ruleをクリック→「Exchange semicolon and colon」をEnableにする

ReactやRailsではセミコロンはあまり使わないのでデフォルトでコロンを入力するように設定。

{}との変更

Karabiner-Elementsを開く→Complex Modifications→Add ruleをクリック→Import more rules from the Internet(Open a web browser)をクリック→「Exchange {} and 」のImportをクリック

Karabiner-Elementsを開く→Complex Modifications→Add ruleをクリック→「Exchange {} and []」をEnableにする

使う頻度が高い{}をデフォルトで入力できるようにする。

caps lockとcontrolの変更

あまり使わないcaps lockとショートカットキーでよく使うcontrolの位置を反対にして、JISキーボードのようにする。

これはMacのシステム設定で変更する。

システム設定→キーボード→キーボードショートカット...→修飾キー→Caps lockキーをcontrolに指定する、ControlキーをCaps lockに指定する

Homebrew

HomebrewはMacOSのパッケージマネージャー。

公式サイトhttps://brew.sh/ja/

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

コマンド実行後はメッセージに従う。

実行するシェルスクリプト

適当にsetup.shファイルを作ってインストール作業を自動化する。

brew install --cask google-chrome
brew install --cask visual-studio-code
brew install --cask rectangle
brew install --cask raycast
brew install --cask warp
brew install --cask docker
brew install neovim
brew install nodenv
brew install rbenv ruby-build
brew install go peco ghq
brew install gh
brew install mas

Google Chrome

標準で使うブラウザ。MacのデフォルトのブラウザをGoogle Chromeに変更する。

ブックマーク

以下のサイトをブックマークしておく。

拡張機能

OneTab

タブをまとめてメモリを削減できる拡張機能

https://chrome.google.com/webstore/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall?hl=ja

拡張機能→キーボードショートカット→OneTabの「現在のタブをOneTabに送る」をctrl+tに設定しておく。

DeepL翻訳

選択した部分を翻訳できる拡張機能

https://chrome.google.com/webstore/detail/deepl-translate-reading-w/cofdbpoegempjloogbagkncekinflcnj?hl=ja

React Developer Tools

Reactの開発ツール。

https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=ja

AutoPagerize

ページネーションではなく、スクロールするだけで次のページを表示する拡張機能

https://chrome.google.com/webstore/detail/autopagerize/igiofjhpmpihnifddepnpngfjhkfenbp?hl=ja

Vimium

GoogleChromeVimのように扱える拡張機能

https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=ja

BlockSite

Youtubeなどの無駄な時間を費やすサイトをブロックするためにインストールする。

https://chrome.google.com/webstore/detail/blocksite-block-websites/eiimnmioipafcokbfikbljfdeojpcgbh?hl=ja

Raycast

Raycastは無料で使えるランチャーツール。

公式サイトhttps://www.raycast.com/

Homebrewでインストールするなら以下のコマンドを実行。

Raycastを開くコマンドを設定

Raycastを開く→Raycast Hotkeyをoption+Spaceに指定する。

Hotkeyを設定

Raycast→Extension→Record Hotkeyに指定したいキーを入力する

アプリ Hotkey
Google Chrome ctrl+G
Search recent projects(Visual Stadio Codeの拡張機能をインストール) ctrl+V
Warp ctrl+I

Warp

以前はターミナルはiterm2を使っていたが、Warpが良さそうなのでインストール。これに関しては良さそうなものが出たら変わりそう。

公式サイトhttps://www.warp.dev/

前はiterm2にoh-my-zshやtmuxを追加でインストールしていたけど、Warpはデフォルトでタブの分割や過去のコマンドの実行、コマンドの補完ができるので、そのまま使えそう。

Rust製で動作が速いらしい。

Rectangle

無料で使える画面を分割するアプリ。

公式サイトhttps://rectangleapp.com/

VSCode

エディタ。

公式サイトhttps://code.visualstudio.com/

基本設定

  • Auto SaveをafterDelay

拡張機能

ショートカットキー

一行削除をctrl+kに変更。 エクスプローラーでのファイルの作成をcmd+n、フォルダの作成をcmd+shift+nに変更。

スニペット

拡張機能を使ってもいいけど、スニペットを作っておく。

{
    "console.log": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "cl",
        "body": [
            "console.log($1)"
        ],
 },
    "const": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "c",
        "body": [
            "const $1 = $2"
        ],
 },
    "let": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "l",
        "body": [
            "let $1 = $2"
        ],
 },
    "typescript const": {
        "scope": "typescript,typescriptreact",
        "prefix": "tc",
        "body": [
            "const $1: $2 = $3"
        ],
 },
    "typescript let": {
        "scope": "typescript,typescriptreact",
        "prefix": "tl",
        "body": [
            "let $1: $2 = $3"
        ],
 },
    "if": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "i",
        "body": [
            "if ($1) {",
            "\t$2",
            "}"
        ],
 },
    "map": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "m",
        "body": [
            "map(($1) => {",
            "\t$2",
            "})"
        ],
 },
    "import": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "im",
        "body": [
            "import { $1 } from '$2'"
        ],
 },
    "export": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "ex",
        "body": [
            "export $1"
        ],
 },
    "arrow function": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "af",
        "body": [
            "const $1 = ($2) => {",
            "\t$3",
            "}"
        ],
 },
    "function components": {
        "scope": "javascript,javascriptreact",
        "prefix": "fc",
        "body": [
            "export const $1 = ($2) => {",
            "\t$3",
            "\t",
            "\treturn ($4)",
            "}"
        ],
 },
    "typescript function components": {
        "scope": "typescript,typescriptreact",
        "prefix": "tfc",
        "body": [
            "export const $1: VFC<$2> = ($3) => {",
            "\t$4",
            "\t",
            "\treturn ($5)",
            "}"
        ],
 },
    "props": {
        "scope": "javascriptreact,typescriptreact",
        "prefix": "pr",
        "body": [
            "const { $1 } = props"
        ],
 },
    "ternary operator": {
        "scope": "javascript,typescript,javascriptreact,typescriptreact",
        "prefix": "to",
        "body": [
            "$1 ? $2 : $3"
        ],
 },
    "useState": {
        "scope": "javascriptreact,typescriptreact",
        "prefix": "us",
        "body": [
            "const [$1, set$2] = $3"
        ],
 },
    "useCallback": {
        "scope": "javascriptreact,typescriptreact",
        "prefix": "ucb",
        "body": [
            "$1(($2) => {",
            "\t$2",
            "}, [$4])"
        ],
 },
    "useMemo": {
        "scope": "javascriptreact,typescriptreact",
        "prefix": "um",
        "body": [
            "$1(($2) => {",
            "\t$2",
            "}, [$4])"
        ],
 },
    "useEffect": {
        "scope": "javascriptreact,typescriptreact",
        "prefix": "ue",
        "body": [
            "$1(($2) => {",
            "\t$2",
            "}, [$4])"
        ],
 },
    "type": {
        "scope": "typescript,typescriptreact",
        "prefix": "ty",
        "body": [
            "type $1 = {",
            "\t$2 : $3",
            "}"
        ],
 },
}

Docker

Dockerは開発環境の構築に使うツール。

公式サイトhttps://www.docker.com/get-started/

NeoVim

MacにはデフォルトでVimがインストールされているが、より新しいNeoVimをインストールする。

公式サイトhttps://neovim.io/

nodenv

nodenvはプロジェクトごとに異なるバージョンのnodeをインストールできるツール。

公式サイトhttps://github.com/nodenv/nodenv

インストールしたら以下のコマンドを実行する。

echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(nodenv init -)"' >> ~/.zshrc

rbenv ruby-build

rbenvはRubyのバージョンを管理するツール。

公式サイトhttps://github.com/rbenv/rbenv

インストールしたら以下のコマンドを実行する。

rbenv init

go peco ghq

pecoとghqというツールを使うことで、ターミナルからGithubリポジトリを管理しやすくする。

pecoとghqを使うためにgoも必要なのでインストールする。

参考https://zenn.dev/obregonia1/articles/e82868e8f66793

gh

ghはGithubCUIで操作するためのコマンド。

公式サイトhttps://github.com/cli/cli#installation

mas

HomebrewからApple Storeのアプリをインストールできるようにするためのツール。

エイリアス設定

zsh、homebrew、git、docker、npm、yarn、npxのコマンドのエイリアスを作成。基本は単語、オプションの頭文字を使用。

vim ~/.zshrcを実行し、以下のコードを記述。

# zsh alias
alias v='nvim'
alias vz='nvim ~/.zshrc'
alias sz='source ~/.zshrc'

# brew alias
alias bi='brew install'
alias bic='brew install --cask'
alias bug='brew upgrade'
alias bud='brew update'
alias bl='brew list'
alias bui='brew uninstall'
alias bd='brew doctor'

# git alias
alias g='git'
alias gi='git init'
alias ga='git add'
alias ga.='git add .'
alias gc='git commit'
alias gcm='git commit -m'
alias gca='git commit --amend'
alias gb='git branch'
alias gba='git branch -a'
alias gbd='git branch -d'
alias gch='git checkout'
alias gchb='git checkout -b'
alias gps='git push'
alias gpso='git push origin'
alias gpl='git pull'
alias gplr='git pull --rebase'
alias gs='git status'
alias gl='git log'
alias glo='git log --oneline'
alias gd='git diff'
alias gm='git merge'
alias gcl='git clone'
alias gf='git fetch'
alias gt='git tag'
alias gtd='git tag -d'
alias grm='git remote'
alias grmv='git remote -v'
alias grma='git remote add'
alias grmrm'git remote rm'
alias grs='git reset'
alias grsh='git reset --hard HEAD^'
alias grb='git rebese'
alias grf='git reflog'
alias grv='git revert'
alias gcp='git cherry-pick'
alias gss='git stash'
alias gssl='git stash list'
alias gssp='git stash pop'

# docker alias
alias di='docker images'
alias drmi='docker rmi'
alias drm='docker rm'
alias dr='docker run'
alias dp='docker ps'
alias dpa='docker ps -a'
alias dcp='docker compose ps'
alias dcpa='docker compose ps -a'
alias dcl='docker compose log'
alias dcd='docker compose down'
alias dce='docker compose exec'
alias dcr='docker compose run'
alias dcrr='docker compose run --rm'
alias dc='docker compose up'
alias dcud='docker compose up -d'
alias dcudb='docker compose up -d -b'
alias dcb='docker compose build'
alias dcbnc='docker compose build --no-cache'
alias dvl='docker volume ls'
alias dvr='docker volume rm'
alias dsp='docker system prune'
alias dsd='docker system diff'
alias dbp='docker builder prune'

# npm alias
alias ni='npm i'
alias niy='npm init -y'
alias nu='npm uninstall'
alias nr='npm run'
alias ns='npm start'
alias nt='npm test'

# yarn alias
alias ya='yarn add'
alias yr='yarn remove'
alias yi='yarn install'

# npx
alias ncra='npx create-react-app'
alias ncratt='npx create-react-app --template typescript'

記述したら:wqで保存して、source ~/.zshrcを実行して設定を反映する。