mac 初上手的疑问与困惑

本文最后更新于:2023年5月13日 晚上

场景

最近换了 m2 macbook,使用大概一周多了,作为一个 windows 长期使用者,截止目前为止遇到了很多问题和疑惑,有些解决了,有些目前仍未找到解决方法。

如何添加字体

之前日常的字体为更纱黑体,它并不出色,但主要优势是以统一的风格支持简繁日英四种语言。
基本步骤和 windows 类似,下载 ttc 点击打开,等待验证通过即可。不过 mac 上这个过程会很慢很慢很慢以至于让我以为出现了 bug。

如何外接显示屏关闭盖子不熄屏

虽然查了一堆答案,但实际上只要外接电源并将外部显示器设置为主显示器即可。

如何调整鼠标反向过来

最开始遇到的非常不习惯的地方,不过可以使用工具 SCROLL REVERSER 将之设置为反向。

视频播放器

在 windows 上基本上都是使用 potplayer,强大而简单。mac 上似乎不支持,所以使用了一个开源工具 iina,控制条稍微有点奇怪,但支持通过键盘控制进度倒也还好。
1676612583239.png

音乐播放器

虽然 iina 也支持播放音乐,但还是找了一个开源的音乐播放器 museeks
1676374490873.png

mac 查看全局快捷键占用

没有找到真正可用的,后续通过 google + 提问查找 mac 的快捷键设置。

如何使用其他输入法

直接使用系统的输入法下载即可,然后可以使用 ctrl+space 切换输入法。

由于与 vscode 提示建议的快捷键冲突,修改为 ctrl+shift+space

mac 上不使用 fn 就使用功能键

在系统设置 将 F1、F2 等键用作标准功能键 启用,ref: https://support.apple.com/zh-cn/HT204436
1675933558696.png

实测 F5 刷新浏览器页面的快捷键并未生效。。。

剪切板历史管理

使用开源程序 Maccy 管理即可,github: https://github.com/p0deje/Maccy

mac 上禁用或修改系统的快捷键

首先是 ctrl+space,这是输入法的切换快捷键,在 快捷键 => 输入法 中可以修改
1675940507249.png

然后是 ctrl+command+space,默认是唤出 emoji 菜单,在 快捷键 => App 快捷键,修改为一个复杂的不常用的快捷键。
1675940701125.png

禁用 command+alt+m 最小化窗口的快捷键,同样在 快捷键 => App 快捷键,修改为一个复杂的不常用的快捷键。
1676524787758.png

如何关闭所有访达窗口

在访达窗口按 option+command+w 关闭当前应用的所有窗口。

如何使用类似 ctrl+home/ctrl+end 的快捷键跳转光标

默认情况下 mac 上移动光标的快捷键是

使用 command+home/end 跳转到行(段落)开头/行(段落)结尾
使用 option+left/right 跳转到上一个单词开头/下一个单词段落结尾
使用 command+top/bottom 跳转到文本开始/文本结尾(vscode 中 command+bottom 似乎不生效)

以上按键都可以与 shift 配合使用。

如何在应用关闭主窗口时从 dock 栏隐藏

这取决于应用是否支持该行为,例如 ssr 支持关闭窗口后最小化到右上角,但 proxifier 就不支持,必须在 dock 栏占一个位置。

配置终端命令行提示

使用 iterm2oh-my-zsh 即可。

proxifier mac 激活码

不想在 mac 上再买一次 proxifier,所以使用破解,注册码 3CWNN-WYTP4-SD83W-ASDFR-84KEA,ref: https://www.cnblogs.com/itachilee/p/14202469.html

vscode 中无法使用 Run Script 的功能

错误 The terminal process "/bin/zsh '-c', 'pnpm run dev'" failed to launch (exit code: 127).

安装 iter2 和 oh-my-zsh 后解决,奇怪的。

git pull 拉取代码时自动合并

目前使用 git pull 时总是会提示让输入 commit msg,但应该有配置可以禁用这个行为。

1
2
git config --global branch.autosetupmerge always
git config --global branch.autosetuprebase always

ref: https://stackoverflow.com/questions/5480069/

未生效


通过配置 git rebase config 即可

1
git config --global --add pull.rebase true

vscode 切换标签页

好吧,idea 在 windows 平台上默认的 alt+left/right 与 macos 本身的光标跳转有冲突。只能使用以下快捷键缓解这个问题

  • command+alt+left/right 在打开的文件中将光标后退/前进到下一个位置
  • ctrl+tab 切换标签页(显然,这个快捷键用起来不是特别好按)

finder

  • mac 中删除桌面上的图标 – 使用 command+退格键 即可删除选中的图标。

  • 快速切换窗口 – 使用 ctrl+left/right 可以切换邻近的窗口,这对于开发时只需要使用常用的几个窗口非常有用快速。(恢复旧的类似于多窗口的行为,放弃类似于移动端一个应用覆盖屏幕的做法)

  • 不显示隐藏文件
    command+shift+. 可以临时切换显示隐藏文件。

    使用以下方法永久设置(似乎对浏览器出发的文件选择器未生效)

    1
    2
    3
    defaults write com.apple.finder AppleShowAllFiles -bool true # 显示隐藏文件
    defaults write com.apple.finder AppleShowAllFiles -bool false # 不显示隐藏文件
    killall Finder # 重启 Finder

    1676374613271.png

  • 如何粘贴文件路径
    有时候复制了一个文件路径,希望能快速在 finder 中打开,可以使用 command+shift+g 快捷键,然后粘贴路径即可。

    1676374734148.png

mac 不再提示权限请求

每次打开国产软件都会请求权限,但禁止后下次打开仍然会提醒,有办法像 android/浏览器 一样永久禁止指定软件的权限请求么?

1676338817475.png

无法关闭,因为这是应用程序创建的窗口。

沙盒工具使用什么

Parallels 可以安装 windows,但 $80 实在是有点贵。


使用 utm 解决,注意 windows 11 arm 下载有点麻烦,从 uup dump 下载转换必须使用 windows 系统,分享一个合并好的 iso 文件,ref: https://pan.baidu.com/s/1wDPVJRNP27dMv2s1f74TlQ#4qx8

效果

1677551846575.png

如何转换 wav+cue 为 flac

使用 Medihuman Audio Converter 即可,参考:https://www.reddit.com/r/audiophile/comments/s7ftf3/help_with_cue_splitter_program_for_mac/

如何在 Finder 当前目录打开终端

选中目录后,从 访达 => 服务 => New iTerm2 Window Here 即可。

1676352594802.png

这其实和期望中的打开当前目录有所区别,而且也比较慢。

好吧,其实右键菜单的二级菜单中也有。

1676366846045.png

打开 iTerm2 第一次会有两个终端,这看起来是个 bug。


可以使用 szContext 来自定义右键菜单。

mac 按后缀修改默认打开程序

  1. 在 Finder 中右键点击一个该类型的文件,调出菜单
  2. 在菜单中选择” 显示简介”(Get Info) 选项
  3. 在弹出的对话框中,展开” 打开方式”(Open With) 选项
  4. 选择你要改变的默认打开程序,并点击下方的” 全部更改…“(Change All)

1676366713119.png

选中打开应用程序时的 始终以此种方式打开 选项很迷惑,没想到是只针对这个文件的。
1676612397276.png

如何列出所有窗口切换

mac 的 command+tab 只能切换应用,但同一个应用中的多个窗口则无法切换。
使用同一应用切换多个窗口时,需要使用 command+~ 快捷键。
列出所有窗口可以使用 ctrl+top 快捷键,但无法使用快捷键切换,必须右手从鼠标上移动到键盘再移动回鼠标太反直觉了,而且大小不一很奇怪。

使用 alt-tab 可以恢复类似于 windows 的行为。
1676374370548.png

重命名

选中文件后按下 Enter 重命名,或者右键菜单中选择 Rename。

禁用 chrome 里的右键菜单

默认情况下 chrome 会显示几个 mac 的集成右键菜单项,它们大部分时候并不实用,需要禁用。
1676515401808.png
嗯,看起来这个问题似乎是不可解决的,这真的很糟糕。ref: https://superuser.com/questions/1012292/

禁止按住 alt 会输入特殊字符

遗憾的是,这个问题似乎同样无法解决,这是 mac 内置输入法的行为且找不到设置修改。

修改在输入中光标移动为 windows 的快捷键

mac 上的移动光标快捷键可能很好,但显然与 windows 上有相当大的差异。
在 windows 中一般使用以下键来移动光标:

  • home/end 跳转到行首/行尾
  • ctrl+home/end 跳转到文本首/文本尾
  • ctrl+left/right 跳转到单词首/单词尾

以上按键都可以与 shift 配合使用。

可以通过 Karabiner-Elements 配置全局键盘映射可以缓解这个问题。
1676608991086.png

finder 如何剪切文件

好吧,它必须使用 command+c 然后通过 command+option+v 来移动文件,这是 mac only,甚至 mac 上的其他程序都支持 command+x。

第三方增强工具 XtraFinder 并不支持 m1,ref: https://www.zhihu.com/question/19579070

如何使用快捷键新建访达窗口

在 finder 中使用 cmd+n 创建窗口,不像 ctrl+e 可以特别方便一只手完成。

如何录制 gif

使用开源工具 kap 替代 windows 中的 ScreenToGif,不支持裁剪和缩放时间轴但基本能用(尤其是选择应用窗口的功能,屏幕录制相关工具不支持实在是太蠢)。

如何从第三方下载 dmg 文件

暂未处理

如何杀死特定进程

有时某个后台程序卡死需要重启,但活动监视器似乎无法右键杀死一个进程。
使用 linux 命令 ps + kill -9


在 活动监视器 中先选中想要杀死的进程,然后点击导航栏的 ⊗
1677041471659.png

启动 android studio 时声音会变的很奇怪

禁用虚拟机的声音

1
2
hw.audioInput = no
hw.audioOutput = no

可以使用以下脚本禁用所有虚拟机的声音

1
2
3
4
5
6
7
8
9
#!/bin/bash
find ~/.android/avd -name "config.ini" | while read line
do
awk '!/audio/' $line > tmp
rm $line
mv tmp $line
echo "hw.audioInput = no" >> $line
echo "hw.audioOutput = no" >> $line
done

然后清理数据冷重启虚拟机。
1677133915491.png

修改 hosts 文件

1
sudo code /etc/hosts

ref: https://www.jianshu.com/p/752211238c1b

禁用 mac 上自动创建 .DS_Store 文件

自从使用 mac 之后,很容易在 git 提交时看到这个文件,而且位置不定,很烦。所以期望禁用它,以下是 chatgpt 的答案

你可以在终端中输入以下命令,禁用 macOS 自动创建 .DS_Store 文件:

1
defaults write com.apple.desktopservices DSDontWriteNetworkStores true

这将使 macOS 不会在网络卷上创建 .DS_Store 文件。如果你想禁止 macOS 在本地文件夹中创建 .DS_Store 文件,你可以在终端中输入另一行命令:

1
defaults write com.apple.desktopservices DSDontWriteStores true

为了使这些更改生效,你需要注销并重新登录你的 macOS 帐户。如果你想重新启用创建 .DS_Store 文件的功能,可以将以上两个命令中的 “true” 替换为 “false”,并再次注销并重新登录你的系统帐户。

禁用 mac 上 cmd+shift+a 触发 No manual entry for setting;type=a

在 jetbrains 的 ide 中,cmd+shift+a 会触发 No manual entry for setting;type=a,又是 mac 自作聪明的快捷键。
1679969498468.png

可以通过以下方式解决:

  1. 打开 系统设置 => 键盘 => 键盘快捷键 => 服务
  2. 禁用 文本 => 在 “终端” 中搜索 man 界面索引

1679969667352.png

自动关闭右上角的通知弹窗

有时候系统会弹出一些通知,比如更新软件,但是这些通知会一直显示在右上角,如果不主动关闭就会一直存在,非常烦人,更期望像 windows 一样自动隐藏并且需要可以在通知列表查看。

1680158199513.png

Automator 之类的似乎只能设定快捷键关闭,并不能在自动在几秒钟后关闭系统通知。

设置 gmail 网页版为系统默认邮件客户端

mac 自带的邮件客户端,可能很好用,但吾辈已经习惯 gmail,所以希望能够设置 gmail 为系统默认邮件客户端。这个步骤比 windows 上麻烦的多,参考教程:https://zhuanlan.zhihu.com/p/530508168

如何在通过 usb 向手机差异同步文件

实际需求是吾辈需要同步 OneDrive 与电子书阅读器的目录,但神奇的是 mac 连接 android 手机后,无法通过 finder 直接向手机传输文件,必须通过 google 的 Android File Transfer 的程序才能实现,但它并不能做差异同步。

吾辈算是明白为什么有人不喜欢 mac,说它太封闭的原因了,它对自家之外的东西支持太烂了。

禁用鼠标移到右下角显示备忘录

  1. 打开 系统设置 => 搜索“触发角” => 触发角快捷键
  2. 删除右下角的备忘录触发

1681267609807.png

ref: https://www.zhihu.com/question/502048404

配置 iterm2 终端快捷键

神奇的是,mac 上使用广泛的终端工具的行内移动光标快捷键和 mac 默认的并不一致。期望的和 mac 一致的是

  • cmd+left 移动到行首
  • cmd+right 移动到行尾
  • option+left 移动到单词首
  • option+right 移动到单词尾

这需要修改 Key Mappings Preset

Key Mappings Preset

ref: https://superuser.com/a/1157575/1078727

在 finder 中批量复制文件名

好吧,只需要多选 cmd+c 然后在文本编辑器中粘贴即可得到文件名,不需要任何特殊工具。ref: https://zhuanlan.zhihu.com/p/71065439

clash-verge 配置自定义规则

  1. 新建一个 Merge 配置
    Merge

  2. 添加 prepend-rules,配置特定网站使用特定代理,例如

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # Merge Template for clash verge
    # The `Merge` format used to enhance profile

    prepend-rules:
    - 'DOMAIN,ipaddress.my,🇺🇸 USA Seattle 01'
    - 'DOMAIN-SUFFIX,google.com,🇺🇸 USA Seattle 01'

    prepend-proxies:

    prepend-proxy-groups:

    append-rules:

    append-proxies:

    append-proxy-groups:
  3. 然后它就会自动合并到托管配置中,非常简单


mac 初上手的疑问与困惑
https://blog.rxliuli.com/p/88862964f94e4bdca5c97a5a2581898a/
作者
rxliuli
发布于
2023年2月9日
许可协议