【笔记】Defaults学习笔记

前言

defaults命令可以用于修改所有Mac应用的配置文件(.plist

配置文件存放路径

1
2
/Library/Preferences
~/Library/Preferences
  • 默认修改的是用户目录下的配置文件

查看软件全局限定名

  • 查看所有可以使用defaults命令直接修改的系统软件或用户软件的全局限定名
1
defaults domains

语法

读取配置

<appname>:系统应用的全局限定名

1
2
3
defaults read <appname>

defaults read <appname> <key>

修改配置

<key>:指定键
<type>:指定值的类型
<value>:指定值

1
defaults write <appname> <key> -<type> <value>

修改为默认配置

1
defaults write <appname> <key> Default

删除配置

  • 配置被删除后,将被还原成默认配置
1
2
3
defaults delete <appname>

defaults delete <appname> <key>

程序坞(Dock栏)的相关配置

删除所有配置

1
defaults delete com.apple.dock && killall Dock

锁定内容

修改配置

<value>

true:锁定
false:解锁

1
defaults write com.apple.dock "contents-immutable" -bool "<value>" && killall Dock

删除配置

1
defaults write com.apple.dock "contents-immutable" && killall Dock

配置位置

修改配置

<value>

left:在屏幕左侧
right:在屏幕右侧

1
defaults write com.apple.dock "orientation" -string "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "orientation" && killall Dock

锁定位置

修改配置

<value>

true:锁定
false:解锁

1
defaults write com.apple.dock "position-immutable" -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "position-immutable" -bool "<value>" && killall Dock

配置图标大小

修改配置

<value>:缺省值为48

1
defaults write com.apple.dock "tilesize" -int "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "tilesize" && killall Dock

锁定图标大小

修改配置

<value>

true:锁定
false:解锁

1
defaults write com.apple.dock "size-immutable" -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "size-immutable" && killall Dock

配置是否开启自动隐藏

修改配置

<value>

true:开启自动隐藏
false:关闭自动隐藏

1
defaults write com.apple.dock "autohide" -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "autohide" && killall Dock

配置自动隐藏动画时间

修改配置

<value>:缺省值为0.7

1
defaults write com.apple.dock "autohide-time-modifier" -float "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "autohide-time-modifier" && killall Dock

配置自动隐藏触发时延

修改配置

<value>:缺省值为0.5

1
defaults write com.apple.dock "autohide-delay" -float "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "autohide-delay" && killall Dock

配置是否开启最近使用的程序图标

修改配置

<value>

true:开启最近使用的程序图标
false:关闭最近使用的程序图标

1
defaults write com.apple.dock "show-recents" -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "show-recents" && killall Dock

配置最小化时的动画效果

修改配置

<value>

genie:神奇效果
scale:缩放效果
suck:吸入效果(隐藏效果)

1
defaults write com.apple.dock "mineffect" -string "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "mineffect" && killall Dock

配置隐藏程序图标是否变为半透明

修改配置

<value>

true:开启隐藏程序图标变为半透明
false:关闭隐藏程序图标变为半透明

1
defaults write com.apple.dock "showhidden" -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "showhidden" && killall Dock

配置是否开启新开程序的跳动动画

修改配置

<value>

true:开启新开程序的跳动动画
false:关闭新开程序的跳动动画

1
defaults write com.apple.dock "launchanim" -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "launchanim" && killall Dock

配置触发角动画时间

修改配置

<value>:动画时间,如果为0表示没有动画

1
defaults write com.apple.dock "expose-animation-duration" -int "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "expose-animation-duration" && killall Dock

程序坞上正在运行应用的窗口快速浏览功能

  • 这是一个隐藏的配置

修改配置

<value>

true:开启窗口快速浏览功能
false:关闭窗口快速浏览功能

1
defaults write com.apple.dock scroll-to-open -bool "<value>" && killall Dock
  1. 开启后将鼠标放到需要浏览的应用图标上
  2. 向上滚动滚轮显示窗口快速浏览
  3. 向下滚动滚轮隐藏窗口快速浏览

删除配置

1
defaults delete com.apple.dock scroll-to-open && killall Dock

程序坞永远只显示正在运行的应用

  • 这是一个隐藏的配置
  • 无论是关闭该功能还是删除配置恢复为缺省值,之前设置的图标顺序都不能还原,需要重新排序

修改配置

<value>

true:开启只显示正在运行的应用
false:关闭只显示正在运行的应用

1
defaults write com.apple.dock static-only -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock static-only && killall Dock

启动台(LaunchPad)的相关配置

配置显示图标的列数

修改配置

<value>:缺省值为7

1
defaults write com.apple.dock "springboard-columns" -int "8" && killall Dock

删除配置

1
defaults delete com.apple.dock "springboard-columns" && killall Dock

配置显示图标的行数

修改配置

<value>:缺省值为5

1
defaults write com.apple.dock "springboard-rows" -int "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dock "springboard-rows" && killall Dock

重置启动台

  • 所有预装应用软件的图标会恢复到初始的位置
  • 所有第三方应用软件的图标会重新排序,已放到文件夹的图标会被打散
1
defaults write com.apple.dock ResetLaunchPad -bool "true" && killall Dock

访达(Finder)的相关配置

配置是否显示隐藏文件

修改配置

value

true:显示隐藏文件
false:不显示隐藏文件

1
defaults write com.apple.finder "AppleShowAllFiles" -bool "<value>" && killall Finder

删除配置

1
defaults delete com.apple.finder "AppleShowAllFiles" && killall Finder

配置QuickLook的动画时间

修改配置

<value>:动画时间,如果为0表示没有动画

1
defaults write com.apple.finder "QLPanelAnimationDuration" -int "<value>" && killall Finder

删除配置

1
defaults delete com.apple.finder "QLPanelAnimationDuration" && killall Finder

配置是否显示完整路径

修改配置

<value>

true:显示完整路径
false:不显示完整路径

1
defaults write com.apple.finder "_FXShowPosixPathInTitle" -bool "<value>" && killall Finder

删除配置

1
defaults delete com.apple.finder "_FXShowPosixPathInTitle" && killall Finder

配置是否显示文件扩展名

修改配置

<value>

true:显示文件扩展名
false:不显示文件扩展名

1
defaults write NSGlobalDomain "AppleShowAllExtensions" -bool "<value>" && killall Finder

删除配置

1
defaults delete NSGlobalDomain "AppleShowAllExtensions" && killall Finder

截屏的相关配置

配置截屏默认文件名

修改配置

<file>:默认文件名,重复文件名后,末尾自动追加递增的编号,编号从2开始

1
defaults write com.apple.screencapture name <file>

配置截屏默认保存位置

修改配置

<src>:默认截屏文件保存位置

1
defaults write com.apple.screencapture location <src>

配置截屏默认保存位置

修改配置

<type>:文件格式

bmp
gif
jpg
jpeg
pdf
tiff

1
defaults write com.apple.screencapture type <type>

配置截屏是否显示投影

修改配置

<value>

true:截屏显示投影
false:截屏不显示投影

1
defaults write com.apple.screencapture disable-shadow -bool <value>

删除配置

1
defaults delete com.apple.screencapture disable-shadow

Safari相关配置

配置是否显示调试菜单

修改配置

<value>

true:显示调试菜单
false:不显示调试菜单

1
defaults write com.apple.safari "IncludeDebugMenu" -bool "<value>" && killall Safari

删除配置

1
defaults delete com.apple.safari "IncludeDebugMenu" && killall Safari

配置是否强制在新标签页打开网页

修改配置

<value>

true:强制在新标签页打开网页
false:不强制在新标签页打开网页

1
defaults write com.apple.safari "TargetedClicksCreateTabs" -bool "<value>" && killall Safari

删除配置

1
defaults delete com.apple.safari "TargetedClicksCreateTabs" && killall Safari

Xcode的相关配置

配置是否显示build的所用时间

修改配置

<value>

true:显示build的所用时间
false:不显示build的所用时间

1
defaults write com.apple.dt.Xcode "ShowBuildOperationDuration" -bool "<value>" && killall Xcode

删除配置

1
defaults delete com.apple.dt.Xcode "ShowBuildOperationDuration" && killall Xcode

系统偏好设置的相关配置

配置是否显示更新红点

修改配置

  • 重启后会失效

<value>

1:启动更新
0:关闭更新

1
defaults write com.apple.systempreferences "AttentionPrefBundleIDs" -dict com.apple.preferences.softwareupdate 1 && killall Dock

删除配置

1
defaults delete com.apple.systempreferences && killall Dock

AppStore的相关配置

配置是否显示更新红点

修改配置

  • 副作用:AppStore的所有软件无法安装和更新
1
defaults write com.apple.appstored "BadgeCount" -int "0" && killall Dock

删除配置

1
defaults delete com.apple.appstored "BadgeCount" && killall Dock

系统的相关配置

配置是否开启电源键一按就睡眠

修改配置

<value>

true:开启电源键一按就睡眠
false:关闭电源键一按就睡眠

1
defaults write com.apple.loginwindow "PowerButtonSleepsSystem" -bool "<value>"

删除配置

1
defaults delete com.apple.loginwindow "PowerButtonSleepsSystem"

配置开机的背景图片

修改配置

<value>:指定背景图片文件路径

1
defaults write /Library/Preferences/com.apple.loginwindow "DesktopPicture" "<value>"

删除配置

1
defaults delete /Library/Preferences/com.apple.loginwindow "DesktopPicture"

配置是否开启自动登录

删除配置

  • 禁用自动登录
1
defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUser

配置是否开启开机提示音

开启提示音

1
2
sudo defaults write com.apple.PowerChime "ChimeOnAllHardware" -bool "true"
open /System/Library/CoreServices/PowerChime.app

关闭提示音

1
sudo defaults write com.apple.PowerChime "ChimeOnAllHardware" -bool "false" && killall PowerChime

配置是否开启有线网下的AirDrop支持

修改配置

<value>

true:开启有线网下的AirDrop支持
false:关闭有线网下的AirDrop支持

1
defaults write com.apple.NetworkBrowser "BrowseAllInterfaces" -bool "<value>"

删除配置

1
defaults delete com.apple.NetworkBrowser "BrowseAllInterfaces"

配置是否关闭截屏阴影

修改配置

<value>

true:关闭截屏阴影
false:开启截屏阴影

1
defaults write com.apple.screencapture "disable-shadow" -bool "<value>"

删除配置

1
defaults delete com.apple.screencapture "disable-shadow"

配置截屏图片保存路径

修改配置

<value>:指定截屏文件的保存路径。例如:~/Pictures/Screenshot.localized

1
defaults write com.apple.screencapture "location" "<value>"

删除配置

1
defaults delete com.apple.screencapture "location"

配置截屏图片的存储格式

修改配置

<value>:修改存储格式

jpg
png

1
defaults write com.apple.screencapture "type" "<value>" && killall SystemUIServer

删除配置

1
defaults delete com.apple.screencapture "type" && killall SystemUIServer

配置系统字体大小

修改配置

<value>:修改数值,缺省值为1

1
defaults write NSGlobalDomain "AppleDisplayScaleFactor" -float "<value>"

删除配置

1
defaults delete NSGlobalDomain "AppleDisplayScaleFactor"

配置是否关闭仪表盘

修改配置

<value>

true:关闭仪表盘
false: 启用仪表盘

1
defaults write com.apple.dashboard "mcx-disabled" -bool "<value>" && killall Dock

删除配置

1
defaults delete com.apple.dashboard "mcx-disabled" && killall Dock

配置是否开启HiDPI

  • HiDPI技术可以在软件层面提高显示效果

修改配置

<value>

true:开启HiDPI
false:关闭HiDPI

1
sudo defaults write /Library/Preferences/com.Apple.windowserver "DisplayResolutionEnabled" -bool "<value>"

删除配置

1
sudo defaults delete /Library/Preferences/com.Apple.windowserver "DisplayResolutionEnabled"

配置键盘按键重复

修改配置

<num>:默认取值范围为[2,120],2表示按键重复速率最快,120表示按键重复速率最慢,实际上可以取0或1(在系统偏好设置中不存在),可以比2更快

1
defaults write NSGlobalDomain KeyRepeat -int <num>

删除配置

1
defaults delete NSGlobalDomain KeyRepeat

配置键盘重复前延迟

修改配置

<num>:默认取值范围为[15,120],15表示重复前延迟最短,120表示重复前延迟最长

1
defaults write NSGlobalDomain InitialKeyRepeat -int <num>

删除配置

1
defaults delete NSGlobalDomain InitialKeyRepeat

全局配置

移动窗口快捷键

  • 这是一个隐藏的配置
  • 开启移动窗口快捷键后,按住Control+Command键,可以无需瞄准窗口的标题栏就可以移动窗口位置
  • 重启(注销重新登录)后生效

<value>

true:启用移动窗口快捷键
false:缺省值,禁用移动窗口快捷键

1
defaults write -g NSWindowShouldDragOnGesture -bool "<value>"

配置是否开启崩溃报告

崩溃报告以窗口显示

开启
  • 缺省值
1
defaults write com.apple.CrashReporter "DialogType" crashreport
关闭
1
defaults write com.apple.CrashReporter "DialogType" none

崩溃报告通知显示

开启
1
defaults write com.apple.CrashReporter UseUNC 1
关闭
1
defaults write com.apple.CrashReporter UseUNC 0

配置键盘长按

1:配置启用长按键盘切换音阶
0:配置启用长安键盘连续输入

1
defaults write -g ApplePressAndHoldEnabled 0

完成

参考文献

知乎——搞点肉蛋奶
哔哩哔哩——Mac下载
简书——mzs0229
CSDN——yuanmengong886
简书——hzlzh
Apple社区——惰惰猴
少数派——伊一
CSDN——伊织code
苹果派
知乎——李宇
少数派——文刀漢三
少数派——SandmeEmai
少数派——修电脑的哲学家
少数派——SandmeEmai
少数派——PlatyHsu
少数派——修电脑的哲学家
CSDN——小手琴师
知乎——知乎用户