ターミナルで defaults write を打つ
このコマンド群は、YouTubeチャンネル「코드깎는노인」の動画『macOS隠しチートキー15』から来ています。バイブコーディング用にMacを買った人が、初期設定のままだと困る箇所を一つずつ直す内容です。以下はその命令を初めてターミナルを触る人向けにほどき、スクリーンショットの保存先だけ自分のホームフォルダに置き換えた整理です。
ターミナルは開発者専用のアプリではありません。一行を入力してEnterを押すと、Macがその行を実行する窓です。開き方は二つです。画面右上の虫眼鏡を押すか、Commandとスペースを同時に押します。この検索窓の名前がスポットライトです。ここに terminal と打ち、黒いアイコンを開きます。
defaults は、アプリごとにMacが持っている設定値です。write はその値を書き込めという動作です。後ろの -g は特定アプリではなくMac全体、com.apple.dock のように書くとそのアプリだけです。-bool false はオフ、 -bool true はオン、 -int 1 は整数1、 -float 0 は小数0です。
命令は一行まるごとコピーしてターミナルに貼り、Enterを押します。成功しても何も出ないことが多いです。隠し設定は返事が少ないのです。赤文字が出たらその行だけ打ち直せば足ります。
キーリピートと自動テキスト補正
WindowsでAを長押しすると a が続きます。Macの初期値は違います。特殊文字の選択窓が開きます。アクセント付きの文字を入れるときは便利ですが、エディタで矢印や削除キーを繰り返したいときには入力が途切れます。
最初の行はその選択窓を消し、キーリピートを戻します。二行目はリピート速度を最速にします。システム設定のキーボードスライダーを端まで上げても足りないときの値です。この二行はすぐ効きません。ログアウトして入り直す必要があります。
defaults write -g ApplePressAndHoldEnabled -bool false
defaults write -g KeyRepeat -int 1スペル・大文字・引用符・ダッシュの自動変換を切る
Macは便利のため、入力した文字を書き換えます。スペルを直し、文頭を大文字にし、ピリオド・引用符・ダッシュを印刷用の文字に変えます。チャットでは目立ちませんが、コードとコマンドではその綺麗な文字がそのままバグです。まっすぐな引用符(")が曲がった引用符になると、目には同じでもプログラムは別の文字として読みます。
下の五行は、スペル訂正、自動大文字、ピリオド変換、スマート引用符、ダッシュ変換をそれぞれ切ります。キーリピートと同じく、ログアウトが必要なことが多いです。まとめて貼って、一度出て入り直せば足ります。
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
defaults write -g NSAutomaticCapitalizationEnabled -bool false
defaults write -g NSAutomaticPeriodSubstitutionEnabled -bool false
defaults write -g NSAutomaticQuoteSubstitutionEnabled -bool false
defaults write -g NSAutomaticDashSubstitutionEnabled -bool falseDockを隠し、遅延とアニメを消す
画面下のアイコンの列がDockです。起動中のアプリを見せますが、その分画面を食います。Option+Command+D でDockが下り、同じショートカットでもう一度押すと戻ります。隠した状態でポインタを画面下端へ持っていくと再び現れますが、初期値では少し待ちます。
最初の行はその待ち時間を消します。二行目は滑るように上がるアニメ時間も消します。&& は前の行が終わってから次を続ける印です。killall Dock はDockを一度終了して起動し直し、新しい値を読ませます。バーが一瞬消えて戻ります。未保存の書類を消す命令ではありません。
defaults write com.apple.dock autohide-delay -float 0 && killall Dock
defaults write com.apple.dock autohide-time-modifier -float 0 && killall Dockウィンドウ・スクロール・Finderのアニメも一緒に減らす
遅延はDockだけの話ではありません。ウィンドウの開閉、スクロール、フルスクリーン、Mission Controlにも短いアニメが付いています。一日二日なら気になりませんが、毎日使うとその短い時間が積みます。下は動画で一度に貼った束です。
NSWindowResizeTime を 0.001 にすると、ウィンドウサイズの変更がほぼ即座に終わります。Finderの DisableAllAnimations、Dockの起動アニメとMission Controlの時間も一緒に切ります。最後にFinderとDockを一度ずつ再起動します。一部の値はmacOSの版やアプリによって目立ちにくいことがあります。それでも動画が確認した行はこの束です。
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
defaults write -g NSScrollAnimationEnabled -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
defaults write -g NSScrollViewRubberbanding -bool false
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.dock launchanim -bool false
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock expose-animation-duration -float 0
killall Finder
killall Dockスクリーンショットの影・プレビュー・保存先
Macには画面を撮る機能が入っています。Shift+Command+4 で範囲をドラッグして撮ります。Controlを同時に押すとファイルではなくクリップボードへ行きます。その状態でスペースを押すと、ウィンドウ単位で選ぶモードになります。
ウィンドウを撮ると、初期値では周囲の影まで入ります。disable-shadow を true にするとウィンドウサイズのまま撮れます。撮ったあと右下に一瞬出るプレビューは、show-thumbnail を false にすると消えます。
初期の保存先はデスクトップです。頻繁に撮るとアイコンが埋まります。フォルダを一つ作り、Optionを押しながら右クリックすると「パス名をコピー」が出ます。そのパスを location の後ろに入れます。下の例はホーム以下の Desktop/screenshots です。動画原文は別ユーザーのパスなので、自分のMacのパスに変える必要があります。フォルダがなければ先に mkdir の行を実行します。
defaults write com.apple.screencapture disable-shadow -bool true
defaults write com.apple.screencapture show-thumbnail -bool false
mkdir -p "$HOME/Desktop/screenshots"
defaults write com.apple.screencapture location -string "$HOME/Desktop/screenshots" && killall SystemUIServerFinderをエクスプローラーに近づける
FinderはWindowsのエクスプローラーに当たるファイル窓です。初期値では今いるフォルダ名だけがタイトルに出ます。Optionを押しているあいだ下にパスが見えますが、毎回キーを押すのは煩雑です。タイトルにフルパスを出し、窓の下にパスバーとステータスバーを出せば、今どこにいるかとファイル数が常に見えます。
右上の検索欄の初期範囲は、妙なことにMac全体です。今開いているフォルダの中だけ探すには FXDefaultSearchScope を SCcf にします。_FXSortFoldersFirst を入れると、名前順でもフォルダがファイルの上に来ます。拡張子を変えるときの警告は FXEnableExtensionChangeWarning を切ると消えます。拡張子はファイル名で最後の点の後ろで、そのファイルが何の種類かを知らせます。
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder ShowStatusBar -bool true
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
defaults write com.apple.finder _FXSortFoldersFirst -bool true
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
killall FinderFinderの終了とデスクトップアイコンの非表示
ほかのアプリには終了メニューがあります。Finderだけ初期値ではありません。QuitMenuItem を入れるとメニューに「Finderを終了」が現れます。Finderの窓が一つだけのときに終了すると、デスクトップも一緒に消えます。デスクトップ自体がFinderの一部だからです。残っていた別アプリを閉じ、何も残らなくなるとFinderがまた起きます。動画でも実務の必須というより、動きのつながりを知っておく機能に近いと言っています。
画面共有の前にデスクトップが散らかっていれば、アイコンだけ一時的に隠せます。CreateDesktop を false にするとアイコンが消え、true に戻すとまた見えます。ファイルそのものが消えるわけではありません。
defaults write com.apple.finder QuitMenuItem -bool true && killall Finder
# アイコンを隠す
defaults write com.apple.finder CreateDesktop -bool false && killall Finder
# 再表示
defaults write com.apple.finder CreateDesktop -bool true && killall Finderエージェント用のMacは眠らせない
動画の最後は、Macを小さなサーバとしてつけっぱなしにする人向けの行です。エージェントがリクエストを待っているあいだにMacが眠ると、返事が途切れます。sudo pmset -a disablesleep 1 はシステムのスリープを止めます。sudo は管理者権限が要る印なのでパスワードを聞かれます。入力中に文字が見えないのは正常です。Enterを押せば実行されます。
電池で使うノートには入れない方が安全です。ふたを閉じても起き続けようとするからです。戻すときは同じ行の 1 を 0 に変えます。
sudo pmset -a disablesleep 1
# 戻す
sudo pmset -a disablesleep 0一度に貼る束と、効くタイミング
下はスリープを除いた残りです。スクリーンショットのパスは自分のホームフォルダ基準です。キー側は貼ったあとログアウトが必要で、残りは一番下の killall 三行が適用します。スリープは常時電源のMacだけで、別途実行します。
| 束 | 何を変えるか | いつ効くか |
|---|---|---|
| キーリピート・自動補正 | 長押し、スペル、引用符、ダッシュ | ログアウト後に再ログイン |
| Dock | 隠したあとの遅延とスライド | killall Dock |
| ウィンドウ・スクロールのアニメ | ウィンドウ、スクロール、Mission Control、Finder | killall Finder と Dock |
| スクリーンショット | 影、プレビュー、保存フォルダ | killall SystemUIServer |
| Finder | パス、検索範囲、フォルダ先、拡張子警告、終了 | killall Finder |
| デスクトップアイコン | アイコンだけ隠す・戻す | killall Finder |
| スリープ | システムスリープを切る | sudoの直後。電池のMacには非推奨 |
defaults write -g ApplePressAndHoldEnabled -bool false
defaults write -g KeyRepeat -int 1
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
defaults write -g NSAutomaticCapitalizationEnabled -bool false
defaults write -g NSAutomaticPeriodSubstitutionEnabled -bool false
defaults write -g NSAutomaticQuoteSubstitutionEnabled -bool false
defaults write -g NSAutomaticDashSubstitutionEnabled -bool false
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
defaults write -g NSScrollAnimationEnabled -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
defaults write -g NSScrollViewRubberbanding -bool false
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.dock launchanim -bool false
defaults write com.apple.dock expose-animation-duration -float 0
defaults write com.apple.screencapture disable-shadow -bool true
defaults write com.apple.screencapture show-thumbnail -bool false
mkdir -p "$HOME/Desktop/screenshots"
defaults write com.apple.screencapture location -string "$HOME/Desktop/screenshots"
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder ShowStatusBar -bool true
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
defaults write com.apple.finder _FXSortFoldersFirst -bool true
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
defaults write com.apple.finder QuitMenuItem -bool true
killall Finder
killall Dock
killall SystemUIServer元に戻す方法
隠し設定は反対の値を書き戻せば大抵戻ります。trueで入れたものは false に、falseで切ったものは true に、数値を0にしたキーは defaults delete で消して初期値に任せます。消したあとも該当アプリを killall するか、キー系統はログアウトします。
よく戻す三行だけ別に書きます。デスクトップアイコン、スクリーンショット保存先をデスクトップへ、スリープです。
defaults write com.apple.finder CreateDesktop -bool true && killall Finder
defaults delete com.apple.screencapture location && killall SystemUIServer
sudo pmset -a disablesleep 0