使用技巧

系统配置

  • Accessibility -> Reduce Motion: on

触摸板

  • 轻点
  • 三指查询

快捷键

系统默认

  • Cmd + Shift + 5: 截屏或录屏
  • Cmd + Shift + .:显示隐藏文件夹
  • Fn + F11:显示桌面

自定义快捷键

  • All Applications

    • Show Next/Previous Tab: cmd-option-left/right
  • iTerm

    • New Tab Here: ctrl-T
    • New Tab with Current Profile: cmd-shift-T
  • Shadowsocks

    • Switch On/Off: ctrl-S

密码规则

获取密码配置文件,用vim打开

pwpolicy getaccountpolicies > ~/Desktop/file.plist
vim ~/Desktop/file.plist
  1. 把第一行:Getting global account policies 整行删除

  2. 修改各个配置规则

    • policyAttributeExpiresEveryNDays:过期天数
    • policyAttributePasswordHistoryDepth:历史密码深度
    • policyAttributePassword matches ‘^$|.{4,}+’:不少于4个字符的密码
    • policyAttributePassword matches ‘.+’:(前面的正则已经被改掉了)包含至少1个数字和1个字母字符
    • policyAttributePassword matches ‘.{8,}’:包含至少8个字符

应用配置文件

pwpolicy setaccountpolicies ~/Desktop/file.plist

使用破解软件

  • 设置可以允许任何应用允许:sudo spctl --master-disable
  • 显示已损坏无法运行的app,取消quarantine的flag:xattr -rd com.apple.quarantine /Applications/your_app.app

修改 hostname

sudo scutil --set HostName {your-hostname}

iTerm2

按键配置

Preferences -> Profiles -> Keys

  • 找到⌥ ←,修改 Action 为Send Escape Sequence,修改 Esc+ 为B
  • 找到⌥ →,修改 Action 为Send Escape Sequence,修改 Esc+ 为F
  • 新建⌘ ←,修改 Action 为Send Hex Code,修改第三个框为0x01
  • 新建⌘ →,修改 Action 为Send Hex Code,修改第三个框为0x05
  • 新建⌥ Del,修改 Action 为Send Hex Code,修改第三个框为0x17
  • 新建⌘ Del,修改 Action 为Send Hex Code,修改第三个框为0x15

安装字体

安装Powerline字体

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh

安装配色

主题配置

修改iTerm主题,Profiles>Open Profiles>Edit Profiles>Colors

修改iTerm字体,Profiles>Open Profiles>Edit Profiles>Text,选Powerline结尾的

使用

文档:https://iterm2.com/documentation-highlights.html

Text Selection

  • ⌘F查找单词,用tab选择对应内容
  • ⇧⌘C进入Copy Mode,按v进入选择模式

Split Panes

  • ⌘D/⇧⌘D:左右/上下分屏
  • ⌘ [ / ⌘ ]:切换分屏
  • ⇧⌘ + Enter:全屏/退出全屏

Autocomplete

  • ⌘;:自动补全

Paste History

  • ⇧⌘H:打开粘贴历史

Instant Replay

  • ⌥⌘B:显示输出回放,例如top时有时信息一闪而过

Zsh

安装oh-my-zsh

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 如果github连不上,则需要配置代理
sh -c "$(curl -x http://localhost:1087 -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

修改主题

Pure

Github - Pure

自带主题

显示thems列表

ls .oh-my-zsh/themes/

打开~/.zhsrc,修改主题ZSH_THEMEagnoster

修改prompt

打开主题文件~/.oh-my-zsh/themes/agnoster.zsh-theme,修改以下部分

prompt_context() {
  if [[ "$USERNAME" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m"
  fi
}

显示短路径

prompt_dir() {
  prompt_segment blue $CURRENT_FG '%1~' # 只显示一层路径
}

agnoster自带git状态显示,可以通过以下git设置取消

git config --global --add oh-my-zsh.hide-status 1
git config --global --add oh-my-zsh.hide-dirty 1

插件

安装插件:

# 语法高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

# 自动补全
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

配置插件,在~/.zshrc中加上

plugins=(
  git 											# git alias,例如 gaa = git add --all
  gitignore									# 生成.gitignore文件
  docker										# docker命令提示
  extract                   # 解压
  safe-paste								# 复制的命令不会自动执行
  zsh-autosuggestions				# 自动补全
  zsh-syntax-highlighting		# 语法高亮
  z 												# 自动跳转,例如 z notes + tab
)

使用

  • 连按两次 ⇥ 会列出所有的补全列表并直接开始选择
  • 命令选项补全。在zsh中只需要键入 tar - + ⇥ 就会列出所有的选项和帮助说明
  • 在用方向上键查找历史命令时,zsh支持限制查找。比如输入ls,然后再按方向上键,则只会查找用过的ls命令

Alfred

  • Web Search
    • 百度
    • 豆瓣
    • 知乎
    • Bilibili
    • 有道
    • 法语助手
  • 查找应用:iTerm
  • 查找文件:␣ + {filename} or ' + filename
  • 计算器:=1+log(2)+sqrt(3)+pi
  • web bookmarks:douban
  • 词典:define abandon/spell abbandon
  • 运行命令行:> echo hello
  • 剪切板:⌘ + ⌥ + C
  • 系统
    • 休眠:sleep/sleep display/screensaver/
    • 关机/重启:shutdown/restart
    • 退出应用:quit/forcequit chrome
    • 静音:mute
    • 弹出硬盘:eject/ejectall

Typora

License: cyzlmh@163.com/D2FGCY-JWU8HW-C3PEGS-VBTSLW

快捷键

文档:https://support.typora.io/Shortcut-Keys/#change-shortcut-keys

  • 跳转

    • 跳到顶部/底部,可以用来进入编辑区:Cmd-Up/Down
    • 跳到光标处:Cmd-J
  • 查找

    • 查找文章:Cmd-Shift-F
    • 文章内查找:Cmd-F

自定义快捷键:

  1. System Preferences -> Keyboard -> Shortcuts -> App Shortcuts
  2. 添加
    1. 显示目录树
      • Application: Typora
      • Menu Title: File Tree
      • Keyboard Shortcut: Ctrl-1
    2. 显示大纲
      • Application: Typora
      • Menu Title: Outline
      • Keyboard Shortcut: Ctrl-2

配置命令行打开

alias typora="open -a typora"

主题

下载:https://theme.typora.io/

  • Gitbook

VSCode

在 Terminal 中使用 VSCode 打开文件或文件夹:

打开控制面板⇧⌘P, 输入 shell command, 在提示里看到 Shell Command: Install 'code' command in PATH, 运行它就可以了。

或者手动把下面的配置添加在 .bash_profile 文件里:

cat << EOF >> ~/.bash_profile
# Add Visual Studio Code (code)
export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
EOF

之后就可以在终端中输入 code . 使用 VS Code 打开当前文件夹。或者直接使用 code filename 编辑文件。

重装系统

格式化

https://zhuanlan.zhihu.com/p/339779640

  1. 重启按 ⌘-R,进入“磁盘工具”,在选择物理磁盘(“APPLE SSD …”)格式化
    1. 格式:APFS
    2. 方案:GUID分区图
  2. 重启重装系统
    1. **⌘-R:**重新安装您在 Mac 上安装过的最新 macOS(建议操作)。
    2. **Option-⌘-R:**升级到与您的 Mac 兼容的最新 macOS。
    3. **Shift-Option-⌘-R:**重新安装 Mac 随附的 macOS 或与它最接近且仍在提供的版本。

必备软件

  • 生成ssh登陆密钥对
  • 上网:安装frp+ss:见Others/Anti-GFW.md
  • 安装iTerm2 + oh my ZSH:见Mac/MacOS.md
  • 安装Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

# 如果上面命令报错,可以使用这条国内脚本
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
  • 常用命令行软件
  • 配置常用alias:见Linux/系统安装
  • 安装Alfred:见Mac/MacOS.md
  • 常用软件
    • Chrome
    • App Cleaner
    • VS Code
    • PDF Expert
    • Nextcloud
    • Typora
    • Xmind
    • IINA
    • QQ Music/Netease Music
    • 迅雷
    • BaiduNetDisk
    • Itsycal
    • Rectangle
    • CheatSheet
    • The Unarchiver
    • Srcoll Reverser
    • fliqlo

Browser Extensions

Setup Scripts

https://gist.github.com/bradp/bea76b16d3325f5c47d4

https://github.com/rsnk96/Ubuntu-Setup-Scripts

https://dl.ypw.io/macos-environment/

Launchd

Creating Launch Daemons and Agents

新建任务

touch ~/Library/LaunchAgents/com.example.job.plist
chmod 644 ~/Library/LaunchAgents/com.example.job.plist

写入配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.job</string>
    <key>ProgramArguments</key>
    <array>
        <string>/path/to/your/script.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>12</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
</dict>
</plist>

加载任务

launchctl load ~/Library/LaunchAgents/com.example.job.plist
launchctl list | grep com.example.job

# Loads and starts the job, the job will restart on the next login/reboot
launchctl load -w ~/Library/LaunchAgents/com.example.job.plist

# unload
launchctl unload ~/Library/LaunchAgents/com.example.job.plist

查看

launchctl list | grep ${your_username}

root 任务

如果需要 root 权限需要将 plist 文件放入 /Library/LaunchDaemons/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.job</string>
    <key>ProgramArguments</key>
    <array>
        <string>/path/to/command</string>
        <string>arg1</string>
        <string>arg2</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>StandardErrorPath</key>
    <string>/tmp/com.example.job/plist.err</string>
    <key>StandardOutPath</key>
    <string>/tmp/com.example.job/plist.out</string>
</dict>
</plist>

修改文件权限

sudo chown root:wheel /Library/LaunchDaemons/com.example.job.plist
sudo chmod 644 /Library/LaunchDaemons/com.example.job.plist

Reference