Mac环境配置小记

正文

新买了Mac mini M2考虑到芯片和原mbp Intel不一样,所以重新配置下常用软件。写个博客记录下方便后面修改

小米35寸屏开启hidpi

one-key-hidpi

下载地址
下载压缩包后,根据提示安装即可

clashx翻译失效

最近Safari浏览器自带的翻译出现了“翻译暂时不可用”的情况,对于使用ClashX的小伙伴,可以关闭软件代理,因为新系统ventura下代理规则已经过期了。

对于非常依赖代理的小伙伴,可选的解决方法是自行修改代理规则,新建一个txt文件,将文件重命名为proxyIgnoreList.plist,修改文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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">
<array>
<string>192.168.0.0/16</string>
<string>10.0.0.0/8</string>
<string>172.16.0.0/12</string>
<string>127.0.0.1</string>
<string>localhost</string>
<string>*.local</string>
<string>*.crashlytics.com</string>
<string>sequoia.apple.com</string>
<string>seed-sequoia.siri.apple.com</string>
</array>
</plist>

保存后移动到~/.config/clash/文件夹下,之后重载配置即可。

mv cp指令显示进度条

所需安装包

Coreutils-8.32.tar.xz : wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
Advcpmv-0.8-8.32.patch Note:直接下载

安装

  1. 下载Coreutils-8.32.tar.xz
    1
    wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
  2. 解压
    1
    2
    tar xvJf coreutils-8.32.tar.xz
    cd coreutils-8.32/
  3. 下载Advcpmv-0.8-8.32.patch
    wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch

    已失效,直接去github上手动下载。然后把下载的Advcpmv-0.8-8.32.patch丢到coreutils-8.32/文件夹中

  4. 编译安装
    1
    2
    3
    patch -p1 -i advcpmv-0.8-8.32.patch
    ./configure
    make
  5. 将编译后的指令放到系统目录下
    1
    2
    sudo cp ./src/cp /usr/local/bin/cp
    sudo mv ./src/mv /usr/local/bin/mv
  6. 使用
    接下来使用mv 或者cp时加上-g 指令就可以看到进度条了

  7. 设置别名默认开启进度条
    每次还要多敲个-g 太麻烦了可以设置下默认就显示

    1
    2
    3
    4
    vim ~/.bashrc # MacOS是在~/.zshrc
    # 尾行加入
    alias cp='/usr/local/bin/cp -gR' alias mv='/usr/local/bin/mv -g'
    source ~/.bashrc

    PS: Linux 环境变量是在~/.bashrc或~/.bash_profile中进行配置的, 但与Linux系统不同的是,在Mac OS中环境变量的默认配置文件为~/.zshrc而不是~/.bashrc或~/.bash_profile。在Mac OS中,同样也可以在这两个文件中配置环境变量,但是每次打开命令行时都需要输入source ~/.bashrc或source ~/.bash_profile才能生效,无法自动生效。解决方案:
    (1). 环境变量配置到~/.zshrc文件中即可,每次打开命令行时都会自动生效;
    (2). 环境变量仍然配置到~/.bashrc或~/.bash_profile中,但是我们在~/.zshrc文件的末尾追加一行source ~/.bashrc或source ~/.bash_profile即可实现每次打开命令行时,系统自动读取环境变量信息。

iterm快速复制当前终端里面的命令 (感觉用处不大,没验证,仅供参考)

实现shift+cmd+z复制当前命令。

  1. 在iterm2里面开启剪切板支持

  2. .tmux/plugins下新建一个copy_line.sh的脚本,如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/usr/bin/env bash
    main() {
    tmux send-key 'C-a'
    tmux copy-mode
    tmux send-key 'Space'
    tmux send-key '$'
    tmux send-key 'b'
    tmux send-key 'e'
    tmux send -X copy-pipe-and-cancel "pbcopy"
    tmux send-key 'C-e'
    tmux display-message 'Line copied to clipboard!'
    }
    main
  3. 在.tmux.conf里面添加

    1
    2
    setw -g mode-keys vi
    bind-key "y" run-shell -b "/Users/carry/.tmux/plugins/copy_line.sh"

    到此,通过prefix+y比如我就是ctrl b和y就可以复制当前命令

  4. 设置快捷键

    这里的0x02就是ctrl+b, 0x79是y,可以在linux下用show-key -a命令来查看按键的映射

复制当前目录的绝对路径 (Linux同理 配置在~/.bashrc即可,如果是ssh远程到linux则需要额外配置)

之前需要pwd显示当前绝对路径然后用鼠标去复制,过于麻烦。现在通过指令直接将当前目录的绝对路径复制到剪切板

  1. 编辑.zshrc
    1
    sudo vim .zshrc 
  2. 添加如下命令
    1
    2
    3
    4
    5
    6
    7
    8
    function cpwd { # cpwd可以替换成其他指令
    if [ $# -eq 0 ]
    then
    echo "$(pwd)" | xargs echo -n | pbcopy && pwd # pbcopy 为mac指令
    else
    echo -n $(pwd)/$1 | pbcopy && echo $(pwd)/$1
    fi
    }

    ps: xargs起到去除换行符的功能, pbcopy负责粘贴到剪贴板, $#是输入参数的个数

复制文件的绝对路径

同上,使用时采用cpwd后接想要复制路径的文件名即可

Homebrew

  1. 安装

    1
    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

    有些同学可能会弹出安装git的提示,点击安装等待即可

    安装完成之后重新执行上面的Homebrew安装命令

    这时桌面可能出现一个old_Homebrew文件夹,查看没有需要即可删除

    安装成功后,关闭终端,然后重新打开终端,查看Homebrew版本

pdfjam

指令解释

给pdf页面两侧留白,方便笔记

如果是 Mac OS 或 Linux 上的话,安装了 Tex 包之后会自带这一工具(比如 Mac OS 上可以安装 MacTex)。

Tex 包或者 pdfjam 安装完成后,只需要打开命令行工具,比如 Windows 上的 「Cygwin」/「WSL」和 Mac OS 上的「终端/Terminal」app。输入以下代码,并回车运行,就可以得到调整页边空白后的 PDF 文件了:

pdfjam --fitpaper true --trim "0cm 0cm -5cm 0cm" "[input_pdf]" -o "[output_pdf]"

代码中的 4 个长度 0cm 0cm -5cm 0cm 分别对应“左、上、右、下”四个方向的页边距,单位是厘米(cm)。如果所填数字是正数(如 1cm),则表示将该方向上的页边距减少 1cm;如果所填数字是 0cm,则表示不修改该方向上的页边距;如果所填数字是负数(如 -5cm),则表示将该方向上的页边距增加 5cm。请将下面代码中的 [input_pdf] 和 [output_pdf] 分别替换成 “要处理的 PDF 文件所在路径” 和 “想要输出到的 PDF 所在路径”。

Mac快捷操作

可以将pdf页面两侧留白采用Mac自带的自动操作加入到右键的快速操作中。

  1. 打开自动操作

    快则快速操作
  2. 如图设置

    先是将选择的文件拷贝到剪切板从而获取文件路径,然后执行shell脚本

    其中pdfjam和pdflatex需要根据实际路径修改下,可以使用where指令查看


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!