清屏
# clear 命令只能滚动光标到顶部,并不能清除屏幕,而 Command + K 可以清空屏幕 cmd + k
在当前目录中创建 Readme.md
让英文目录显示为中文
MacOS 让任意英文目录名显示为中文的 .workflow
将 Home/End 改为 转到行首/行尾,而不是转页首/页尾
# 需要注销才能看到效果 mkdir -p $HOME/Library/KeyBindings echo '{ /* Remap Home / End keys to be correct */ "\UF729" = "moveToBeginningOfLine:"; /* Home */ "\UF72B" = "moveToEndOfLine:"; /* End */ "$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */ "$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */ "^\UF729" = "moveToBeginningOfDocument:"; /* Ctrl + Home */ "^\UF72B" = "moveToEndOfDocument:"; /* Ctrl + End */ "$^\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Ctrl + Home */ "$^\UF72B" = "moveToEndOfDocumentAndModifySelection:"; /* Shift + Ctrl + End */ }' > $HOME/Library/KeyBindings/DefaultKeyBinding.dict
OpenCore 相关网址
OpenCore : https://github.com/acidanthera/OpenCorePkg OpenCoreConfigurator: https://mackie100projects.altervista.org/download-opencore-configurator/
挂载黑苹果 EFI 分区
diskutil list sudo diskutil mount /dev/disk0s1 # 在 finder 中左侧找挂载的磁盘,名称为 efi 分区的 label,比如“EFI”
查看黑苹果 OpenCore 版本号
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version
注:输出中类似“REL-089-2023-02-14”即为版本信息,意思为“REL-v0.8.9-版本更新于2023-02-14”
禁用光标处的输入法提示
sudo defaults write \ /Library/Preferences/FeatureFlags/Domain/UIKit.plist \ redesigned_text_cursor -dict-add Enabled -bool NO # 恢复: sudo defaults delete /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor # https://gist.github.com/stephancasas/236f543b0f9f6509f5fe5878de01e38a
快速切换App
MacOS 一键打开/切换到 App(替代 Cmd + Tab)
为各 WiFi 设置不同的 ip
networksetup -setmanualwithdhcprouter 'Wi-Fi' 10.0.0.2 networksetup -setdhcp 'Wi-Fi' networksetup -setmanual 'Wi-Fi' 10.0.0.2 255.255.255.0 10.0.0.1 networksetup -setdnsservers 'Wi-Fi' 10.0.0.2 networksetup -setdnsservers 'Wi-Fi' Empty sudo networksetup -createlocation "公司" sudo networksetup -createlocation "家" sudo networksetup -createlocation "公司" sudo networksetup -createlocation "家"
使用 Hammerspoon.app 根据 WiFi 自动设置网络位置:
-- https://stackoverflow.com/questions/656199/search-for-an-item-in-a-lua-list function Set(list) local set = {} for _, l in ipairs(list) do set[l] = true end return set end -- 不同位置的 WiFi 使用不同的网络配置 function SSIDChanged() hs.location.start() local mac = hs.wifi.interfaceDetails().bssid hs.location.stop() local uuid = 'A2DF6E86-2F00-481C-938E-3CC160347D26' -- Automatic local homeMacAddresses = Set {'8c:be:be:2c:fb:77', '8c:be:be:2c:fb:78'} local companyMacAddresses = Set {'a2:91:ce:b5:18:54'} if (mac ~= nil) then if (mac == 'd4:da:21:5a:ee:41') then uuid = 'E736F2F1-0DB3-47C6-A179-2779923A0021' elseif homeMacAddresses[mac] then uuid = '5AE03170-29FD-4ECE-B891-C72DCDB00712' elseif companyMacAddresses[mac] then uuid = '90C23198-478B-4032-BBA0-A7024FB19797' end else hs.notify.show('位置检测失败', '获取不到BSSID', '') end print('Router.macAddr', mac) Profile.setLocation(uuid) -- 切换位置 end wifiWatcher = hs.wifi.watcher.new(SSIDChanged) wifiWatcher:start()
关闭自动开机
sudo nvram AutoBoot=%00 # 不自动开机(掀开盖子时不自动开机) sudo nvram AutoBoot=%03 # 自动开机(掀开盖子时自动开机)
把 Quick Time Player 录制的 .mov 转换为 gif/mp4
brew install ffmpeg ffmpeg -i file.mov -r 15 file.gif # -r 设置帧率,默认 25 ffmpeg -i file.mov -vcodec h264 -acodec mp2 file.mp4
从 Quick Time Player 录制的 .mov 中提取封面
ffmpeg -i input.mp4 -ss 00:00:01 -vframes 1 output.png # 提取封面 ffmpeg -i input.mp4 -vf fps=1/600 img%03d.png # 每600秒截一张图 ffmpeg -skip_frame nokey -i input.mp4 -vsync 0 -f image2 myfilm/input-%06d.png # 按照关键帧提取画面
关闭对话框动画(MacOS Monterey v12.5.1 有效)
# opening and closing windows and popovers defaults write -g NSAutomaticWindowAnimationsEnabled -bool false # 查询: # defaults read -g NSAutomaticWindowAnimationsEnabled
sudo 时 TouchID 优先
# /etc/pam.d/sudo 开头添加: auth sufficient pam_tid.so
阻止 macOS 读取 SMB 共享上的 .DS_Store 文件(加快 smb 速度)
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE # via: https://support.apple.com/zh-cn/HT208209
修改 Launchpad 默认的 5 行 7 列改为 7 行 10 列
defaults write com.apple.dock springboard-rows -int 7 defaults write com.apple.dock springboard-columns -int 10 killall Dock # 还原 defaults write com.apple.dock springboard-rows Default defaults write com.apple.dock springboard-columns Default killall Dock
Developer Tools Access 需要控制另一个进程,以便继续调试
DevToolsSecurity --enable # 修改为enable,输入密码,即可用 DevToolsSecurity --status # 查看状态 DevToolsSecurity --disable # 修改为disable,输入密码,即关闭
去掉截图时自动添加阴影功能(不要阴影)
defaults write com.apple.screencapture disable-shadow -bool TRUE Killall SystemUIServer
修改主机名和计算机名
sudo scutil --set HostName upall.cn sudo scutil --set ComputerName 某某人的笔记本 # 如需查看结果,请将 --set 换成 --get 并删除末尾的参数
启用第3种窗口缩放效果“吸入 suck”
defaults write com.apple.dock mineffect -string suck killall Dock # 前两种是“神奇效果 genie”和“缩放效果 scale”
查看文件类型
mdls -name kMDItemContentType ~/project/a/index.html # output: kMDItemContentType = "public.html"
加快隐藏的 dock 显示出来时的弹出速度
# 显示前的延迟 defaults write com.apple.Dock autohide-delay -int 0 # 显示时动画的时长 defaults write com.apple.dock autohide-time-modifier -int 0 # 重启 dock killall Dock # 恢复: defaults delete com.apple.Dock autohide-delay defaults delete com.apple.dock autohide-time-modifier killall Dock
-int 0 也可以换成 -float 0.3
长按连续输入
defaults write -g ApplePressAndHoldEnabled -bool false
使用电池时关闭网络唤醒
sudo pmset -b tcpkeepalive 0
查看唤醒相关的日志
/usr/bin/syslog | grep -i "Wake reason" log show --last 5m | grep "Wake"
对话框按钮上没有字母(确定上没有Y,取消上没有N)
回车激活蓝底按钮,空格激活蓝框按钮,Tab切换按钮,Option反转按钮
删除文件
Cmd + 退格键
删除光标后的文字
Fn + 退格键
重命名
回车键
用键盘打开文件夹
Cmd + o
切换显示隐藏文件
Cmd + Shift + .
Linux Gnome 是 Ctrl + h
在屏幕上找鼠标指针
使劲甩几次鼠标,指针会变大
“任务管理器”
Cmd + Option + Esc
GNU shell
brew install coreutils
.bashrc
alias ls="gls --color --time-style=long-iso"
在终端中为不同扩展名的文档指定ls颜色
生成配色文件
brew install coreutils gdircolors --print-database > ~/.dir_colors
在 .bashrc 中加载配色
export CLICOLOR='Yes' export LS_OPTIONS='--color=auto' eval `gdircolors -b ~/.dir_colors`
在 ~/.config/fish/config.fish 中加载配色
eval (gdircolors -c ~/.dir_colors)
……