Open8
M4 Macbook air US keyboard セットアップ

文字入力
live conversionをOFF
Google 日本語入力
install -> reboot ->
適当な入力ソースを追加(ここでは"ABC - Extended")、そうするとデフォルトの"ABC"を"-"で消せる、後述のKarabiner-Elementsでの変換時にデフォルトの入力ソースではなくGoogleのAlphanumericが選択されるようになる
⌘キーでかな英数を切り替えられるように with Karabiner-Elements
Capslock無効化 with Karabiner-Elements

software
Arc browserいれる
デフォルトブラウザに設定も
archive期間延長
保存フォルダ毎回聞くように
arc://settings/downloads
Raycast
brew install --cask raycast
Magnet Deprecated

system
Desktop
デスクトップにファイル/フォルダを表示しない
not showing items on desktop
Show Items -> On Desktop
Dock
自動で見え隠れ
不要なアイコン削除
screenshot
⌘⇧5のスクショをデスクトップではなくClipboardへ保存
keyboard
- Key repeat rate, Delay until repeatを上げる→長押し入力反応速度&入力速度UP
- バックライトの明るさ下げる
- バックライトの一定時間経過後自動OFF
- 地球儀キーの余計なショートカット削除
- Tabでダイアログ操作できるように (Keyboard navigation)
スクショ
mx mechanicalキーボードとの動作互換性の為Fnキーの扱いを反転
マウス
ポインタデカく
移動速度速く
menu bar
bluetoothを表示
battery % 表示
文字デカく
util
spotlight ⌘␣のショートカットOFF for Raycast

dev
homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
terminal
brew install --cask warp
git
brew install git
lazygit
brew install lazygit
github cli
brew install gh
neovim
brew install neovim
docker
brew install --cask docker
cursor
brew install --cask cursor
aws
brew install awscli
npm
brew install npm
pnpm
brew install pnpm
ngrok
brew install ngrok

Browser extensions
- Vimium

Editor config (VSCode, Cursor)
extensions
- Git Graph v3
keyboard shortcut
keybindings.json
[
{
"key": "ctrl+s",
"command": "workbench.explorer.fileView.focus",
"when": "terminalFocus"
},
// ------------------------------ Basic ------------------------------
{
"key": "ctrl+`",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+`",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
// ------------------------------ Editor ------------------------------
{
"key": "ctrl+l",
"command": "workbench.action.nextEditor",
"when": "!terminalFocus && !sideBarFocus && vim.mode != 'Insert'"
},
{
"key": "ctrl+h",
"command": "workbench.action.previousEditor",
"when": "!terminalFocus && !sideBarFocus && vim.mode != 'Insert'"
},
{
"key": "ctrl+q h",
"command": "workbench.action.focusLeftGroup",
"when": "editorFocus"
},
{
"key": "ctrl+q l",
"command": "workbench.action.focusRightGroup",
"when": "editorFocus"
},
{
"key": "ctrl+q j",
"command": "workbench.action.focusBelowGroup",
"when": "editorFocus"
},
{
"key": "ctrl+q k",
"command": "workbench.action.focusAboveGroup",
"when": "editorFocus"
},
// Split
{
"key": "ctrl+s v",
"command": "workbench.action.splitEditor",
"when": "editorFocus"
},
{
"key": "ctrl+s ctrl+v",
"command": "workbench.action.splitEditor",
"when": "editorFocus"
},
{
"key": "ctrl+s h",
"command": "workbench.action.splitEditorOrthogonal",
"when": "editorFocus"
},
{
"key": "ctrl+s ctrl+h",
"command": "workbench.action.splitEditorOrthogonal",
"when": "editorFocus"
},
// Pane size
{
"key": "ctrl+q shift+l",
"command": "workbench.action.increaseViewWidth",
"when": "editorFocus"
},
{
"key": "ctrl+q shift+h",
"command": "workbench.action.decreaseViewWidth",
"when": "editorFocus"
},
{
"key": "ctrl+q shift+k",
"command": "workbench.action.increaseViewHeight",
"when": "editorFocus"
},
{
"key": "ctrl+q shift+j",
"command": "workbench.action.decreaseViewHeight",
"when": "editorFocus"
},
{
"key": "ctrl+q x",
"command": "workbench.action.closeActiveEditor",
"when": "editorFocus"
},
{
"key": "ctrl+q shift+x",
"command": "workbench.action.closeEditorsAndGroup",
"when": "editorFocus"
}, // Delete editor
{
"key": "ctrl+q shift+[",
"command": "workbench.action.moveEditorToPreviousGroup"
},
{
"key": "ctrl+q shift+]",
"command": "workbench.action.moveEditorToNextGroup"
}, // Current editor to (next|previous) group
{
"key": "ctrl+q n",
"command": "workbench.action.focusNextGroup",
"when": "editorFocus"
},
{
"key": "ctrl+q p",
"command": "workbench.action.focusPreviousGroup",
"when": "editorFocus"
}, // Current editor to (next|previous) group
{
"key": "ctrl+q [",
"command": "workbench.action.terminal.searchWorkspace",
"when": "terminalFocus && terminalProcessSupported && terminalTextSelected"
},
{
"key": "ctrl+q [",
"command": "workbench.action.findInFiles"
},
{
"key": "ctrl+q [",
"command": "workbench.view.search",
"when": "workbench.view.search.active && neverMatch =~ /doesNotMatch/"
}, // Global serach
{
"key": "ctrl+q z",
"command": "workbench.action.maximizeEditor",
"when": "editorFocus"
}, // maximizeEditor
// ------------------------------ Terminal ------------------------------
{
"key": "ctrl+q n",
"command": "workbench.action.terminal.new",
"when": "terminalFocus"
},
{
"key": "ctrl+j",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus"
},
{
"key": "ctrl+k",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus"
},
{
"key": "ctrl+shift+j",
"command": "workbench.action.toggleMaximizedPanel",
"when": "terminalFocus"
},
{
"key": "ctrl+h",
"command": "workbench.action.terminal.focusPreviousPane",
"when": "terminalFocus"
},
{
"key": "ctrl+l",
"command": "workbench.action.terminal.focusNextPane",
"when": "terminalFocus"
},
{
"key": "ctrl+\\",
"command": "workbench.action.terminal.split",
"when": ""
},
// ------------------------------ Filer ------------------------------
{
"key": "ctrl+s",
"command": "workbench.explorer.fileView.focus"
// "when": "editorFocus"
},
{
"key": "ctrl+s",
"command": "workbench.action.toggleSidebarVisibility",
"when": "filesExplorerFocus"
},
// ------------------------------ Vim ------------------------------
// ------------------------------ To deal with folding expansion ------------------------------
{
"command": "cursorDown",
"key": "j",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "cursorUp",
"key": "k",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "cursorDown",
"key": "down",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "cursorUp",
"key": "up",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.toggleFold",
"key": "z a",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.unfoldAll",
"key": "z shift+r",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldAll",
"key": "z shift+m",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.unfold",
"key": "z l",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.unfoldRecursively",
"key": "z shift+o",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.fold",
"key": "z h",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldRecursively",
"key": "z shift+c",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldLevel1",
"key": "z 1",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldLevel2",
"key": "z 2",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldLevel3",
"key": "z 3",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldLevel4",
"key": "z 4",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldLevel5",
"key": "z 5",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldLevel6",
"key": "z 6",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldLevel7",
"key": "z 7",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.foldAllExcept",
"key": "z shift+v",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.gotoNextFold",
"key": "z j",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"command": "editor.gotoPreviousFold",
"key": "z k",
"when": "editorTextFocus && neovim.mode == normal"
},
{
"key": "ctrl+s ctrl+f",
"command": "vscode-neovim.send",
"when": "editorTextFocus && neovim.ctrlKeysInsert.s && neovim.init && neovim.mode == 'insert' && editorLangId not in 'neovim.editorLangIdExclusions'"
},
{
"key": "ctrl+s",
"command": "-vscode-neovim.send",
"when": "editorTextFocus && neovim.ctrlKeysInsert.s && neovim.init && neovim.mode == 'insert' && editorLangId not in 'neovim.editorLangIdExclusions'"
},
{
"key": "ctrl+s ctrl+f",
"command": "vscode-neovim.send",
"when": "editorTextFocus && neovim.ctrlKeysNormal.s && neovim.init && neovim.mode != 'insert' && editorLangId not in 'neovim.editorLangIdExclusions'"
},
{
"key": "ctrl+s",
"command": "-vscode-neovim.send",
"when": "editorTextFocus && neovim.ctrlKeysNormal.s && neovim.init && neovim.mode != 'insert' && editorLangId not in 'neovim.editorLangIdExclusions'"
},
{
"key": "cmd+i",
"command": "composerMode.agent"
}
]

terminal
zsh

misc
betterdisplay
brew install --cask betterdisplay
battery
brew install battery
hot
brew install hot