macOS备忘录

一个 Linux/Windows 用户的 macOS 使用经验帖。
Last update: 2024.03.17

1. Finder 文件剪切

一度误以为 Finder 不能剪切只能鼠标拖放,一度想找Finder替代品。实际可以剪切:

  1. 复制粘贴:shift+鼠标选中文件, cmd+c,松开, 进入目标目录, cmd+v
  2. 剪切粘贴:shift+鼠标选中文件, cmd+c, 松开, 进入目标目录中 cmd+option+v
    注意: cmd+c 并松开后,如果是鼠标选中目标目录,执行 cmd + option + v 是无效的。

2. Finder 拷贝文件夹路径

想要拷贝当前 Finder 打开的目录的绝对路径, 用于代码编写、终端命令等。

在 Windows 上可用 Ctrl + L 跳到地址栏然后进行拷贝。

在 Finder 中则是用 option + command + c, 然后 cmd + v 即可。

在 macOS 中怎样获取当前文件夹的路径? - 没救value疯子的回答 - 知乎
https://www.zhihu.com/question/22883229/answer/111249719

3. 屏幕键盘

系统设置 -> 辅助功能 -> 辅助功能键盘, 勾选

5. 让外接键盘 Home/End 键起作用

创建或编辑 ~/Library/KeyBindings/DefaultKeyBinding.dict 文件,内容如下:

{
/* Remap Home / End keys */
/* Home Button*/
"\UF729" = "moveToBeginningOfLine:"; 
/* End Button */
"\UF72B" = "moveToEndOfLine:"; 
/* Shift + Home Button */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; 
/* Shift + End Button */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; 
/* Ctrl + Home Button */
"^\UF729" = "moveToBeginningOfDocument:"; 
/* Ctrl + End Button */
"^\UF72B" = "moveToEndOfDocument:"; 
 /* Shift + Ctrl + Home Button */
"$^\UF729" = "moveToBeginningOfDocumentAndModifySelection:";
/* Shift + Ctrl + End Button*/
"$^\UF72B" = "moveToEndOfDocumentAndModifySelection:"; 
}

然后重启系统(据说重启 shell 也可以, 或者重新登录?)以生效。

参考: https://www.cnblogs.com/laggage/p/14342447.html

6. 让外接键盘 Ctrl/Win窗键 正常使用

例如内置键盘 ctrl+space 是切换输入法;我的外接键盘默认是Win窗+space,很不习惯。
实际上期望外接键盘的 ctrl 对应 内置键盘的 ctrl。

目前这样设置:(系统设置->键盘):

7. 设置终端proxy

export http_proxy=127.0.0.1:xxxx
export https_proxy=127.0.0.1:xxxx

8. 修改鼠标滚轮方向

Mac 的鼠标滚轮方向“自然”让我觉得“不自然”。在系统设置->鼠标 中,取消勾选

9. 获取cpu数量

之前在 intel 芯片的 Mac 上用 echo $(nproc) 获取 cpu 数量。它表示的是逻辑 cpu 数量。

在 m1 芯片的 Mac 上需要改为如下两个命令:

sysctl -n hw.logicalcpu
sysctl -n hw.phisicalcpu

ref: https://github.com/memkind/memkind/issues/33

10. 访达 (文件夹浏览器)设置

在新装的 Windows 系统中我们常常手动设置 “显示文件扩展名”。
在 Mac 里也是一样; 两者都把用户当傻子, 默认不给显示文件扩展名。那我怎么区分 1.jpg 和 1.md ?

访达 - 偏好设置,

在访达里显示 HOME 文件夹:

显示文件扩展名:

11. 访达地址栏无法用 Ctrl + L 选中和 Ctrl + C/V 复制粘贴

对于从 Windows / Linux 迁移到 Mac 的开发者来说,finder 不能复制路径真的极大降低了效率。
终极解决方案是用 QSpace

12. 键盘按键速度

Mac 默认的按键速度,比 windows/linux 慢很多。这影响效率。
在系统设置->键盘 中,都调快,即可:

13. 关闭文本纠正

比如在浏览器里,输入拼音后,有时候会被“自动纠正”,但纠正结果却不是预期的结果。这就显得mac的默认设置很是“自作聪明”了。

取消它:系统偏好设置->键盘->文本,取消勾选“自动纠正拼写”:

14. 退出SDL2的全屏窗口

最近用SDL2写了一个全屏窗口的可执行程序,运行后键盘失效无法切换窗口,鼠标也无法找到 最小化、还原等按钮。
若是:SDL_WINDOW_FULLSCREEN
解决方法:长按3秒mac mini的电源键。会跳出全屏并询问“是否关机”等。取消即可。

若是:SDL_WINDOW_FULLSCREEN_DESKTOP
解决方法:长按3秒mac mini的电源键,跳出询问是否关机的小窗后,按 win + tab(外置的键盘) 或ctrl + tab(苹果原生键盘)

15. Apple M1 内存占用过高

例如关掉所有开启的 gui 程序后,仍占用6G内存,开了2个vscode,Firefox和safari分别开了不到10个标签页,内存消耗12G.

策略1: 关闭 safari 的 safe browsing

Step 3. Disable Safari Safe Browsing.

If this error is causing you too much trouble and you’re quite confident that the websites you are visiting are safe, you can disable this feature using the steps below:

    Open Safari, then click Safari from the top menu.
    Choose Preferences, click on the Security button.
    Uncheck the Warn when visiting a fraudulent website option.

Restart Safari and check if the issue has disappeared.

https://softwaretested.com/mac/apple-safari-safebrowsing-service-taking-up-memory-on-mac/

策略2: 浏览器:丢掉firefox和safari,换用edge

firefox 的内存消耗确实很大,开个视频开几个网页,超过1g内存消耗。
而edge浏览器只用了600M左右。

策略3: vscode 增加配置,关闭对特定文件夹的监视

settings.json 添加:

    "files.watcherExclude": {
        "**/.git/objects/**": true,
        "**/node_modules/**": true,
        "**/.cache/**": true
    }

ctrl + shift + p 打开 open process explorer, 可以看到内存消耗确实减少了,对于 C++ 的 git 项目 (https://github.com/ValeryKameko/image-processor), 从 500MB 降低到了 200MB (而关闭插件则对内存开销毫无影响)

ref: https://stackoverflow.com/a/55527190/2999096

16. realpath 命令没找到

需要手动从 brew 安装

brew install coreutils

17. 安装 VM Fusion 虚拟机

目的是在搭载 m1 芯片的 mac-mini 上安装 linux 虚拟机。M1芯片的苹果电脑上,vm fusion无法运行 x86架构的虚拟机(或者说,需要复杂的设置,我没尝试)。安装 arm64 架构的虚拟机后, 可以原生使用 linux 下的 neon intrinsic。

苹果系统版本: 13.4.1 (22F82)。

VM Fusion
虚拟机软件: VM Fusion, Player 版本 e.x.p (20486664)

https://download3.vmware.com/software/FUS-PUBTP-22H2/VMware-Fusion-e.x.p-20486664_universal.dmg

license: 将网页切换到英文语言, 申请个人 license。https://blog.csdn.net/tt15304911199/article/details/113552341

Ubuntu ISO
使用 ubuntu 22.04 (jammy). 官方没有提供 KDE 桌面版,如下 iso 是 Gnome 桌面的。
https://cdimage.ubuntu.com/jammy/daily-live/current/jammy-desktop-arm64.is

18. mac-mini 外接显示器无法调整声音大小

参考 Mac外接显示器无法调节音量问题, 安装 SpeakerAmp 可以解决。

下载安装 driver

选择priority

最后效果

19. MacBookPro 外接4K显示器,屏幕闪烁问题

MacBookPro 是2018年款式, intel 芯片而不是 M1/M2芯片:

疑似是显示器先前接入了另外一台电脑(MacMini, M1),分辨率和当前 MacBookPro 不一致,导致的屏幕频繁闪烁,大约10秒一次。

解决方法是:MacBookPro 保持连接屏幕的情况下,重启 MacBookPro.

参考: https://discussionschinese.apple.com/thread/255102452?sortBy=best

20. 安装文档查看工具 Zeal

使用源码编译的方式安装:

brew install cmake libarchive
cp -Rp ./build/Zeal.app ~/Applications/
export LibArchive_ROOT=/opt/homebrew/opt/libarchive
git clone https://github.com/zealdocs/zeal
cd zeal
cmake -S . -B build -G Ninja
cmake --build build
cp -Rp ./build/Zeal.app ~/Applications/

没有安装 Dash, 因为30天后收费; 没有使用 brew 安装, 因为 Zeal 官方没支持, 网友的 tap 安装失败。

21. Zeal 在特定文档里查询

例如安装了 CMake, OpenCV, Python, Numpy, OpenGL 等文档(每个都被叫做 docset)后, 如果要查询 cmake 中名为 file 的命令的文档, 如果不加以限定, 会搜索出所有文档里的结果:

解决方法: 先输入 cmake: 意思是只在 "cmake" docset 里搜索:

cmake: file

官方文档给出了这个用法:

22. 安装 CMake-GUI

brew install cmake 安装的 cmake, 不带 cmake-gui.

conda install cmakepip install cmake, 都要强制依赖 conda 和 python 环境。 我遇到过 conda 导致系统卡顿, 因此默认是不开启 conda 的, 用的时候再 conda activate; 而使用 cmake 执行 C/C++ 的构建,优先级要高得多。

在 Window 和 Linux 下, 直接从官网下载 .zip/.tar.gz 格式的 cmake 二进制包, 解压安装即可, 而且还能同时安装多个版本。

在 macOS 下,下载的 .tar.gz/.dmg 格式的 cmake 二进制包, 里面都是 CMake.app/Contents 这样的 macOS 特有的套壳目录。解压到 ~/soft/cmake/3.28.3 目录后, 添加到 PATH:

# ~/.pathrc
CMAKE_BIN_DIR=/Users/zz/soft/cmake/3.28.3/CMake.app/Contents/bin
export PATH=$PATH:$CMAKE_BIN_DIR

或者使用 cmake-gui 提供的安装:

sudo "/Users/zz/soft/cmake/3.28.3/CMake.app/Contents/bin/cmake-gui" --install

这个安装方式不太明显,要先打开 CMake-GUI 才能发现:

让 CMake-GUI 在 Dash 中能被查找到: 创建链接

ln -sf /Users/zz/soft/cmake/3.28.3/CMake.app /Applications/CMake.app

23. 连接蓝牙耳机

2024-04-20 18:49:51

mac-mini 也可以连接蓝牙耳机(我用的华为的). 首先打开mac上的蓝牙, 然后拿出华为蓝牙耳机, 让它的信号可以被发现(不同耳机不一样,我的是手指长按), 此时 mac 上发现了它, 连接即可。

ref: https://support.apple.com/zh-cn/guide/mac-help/blth25/mac

posted @ 2021-10-30 21:55  ChrisZZ  阅读(242)  评论(1编辑  收藏  举报