Mac Mini M4的首次上手配置记录

Page content

硬件清单

* Mac mini M4 钙版 512G
* Acer OKR 130键盘/68键/茶轴/无背光版,仅有功能切换指示灯
* Redmi R27 2K 显示器
* 罗技G304 无线鼠标

硬件相关配置和说明

外接键盘适配

acer okr130

不同厂商的键盘,功能设计略有不同,但是基本大同小异,厂商也会提供购买型号的组合键功能说明。

这里需要注意的是:

  • 购买键盘时一定认准是支持win/mac双系统的键盘,这个很重要.

  • 支持有线连接的三模键盘,mac mini m4 初始化的时候需要有线键盘配合完成初始化配置。除非你还有其他备用的有线键盘,且能连接到mac mini m4的type c接口上,再考虑靠谱的无线键盘。

使用了将近半个多月,这里浅谈下这个68键键盘的感受。
  • 好的方面:打字方面手感还算舒服,在家里使用这个机械键盘声能接受;颜值控,外观复古,nice。
  • 不太好的体验: 800mAh电池续航太短,每天高强度使用的话,可能坚持不了5天,后续打算自行升级个大电池;长时间不使用键盘,再次使用时,与mac mini m4建连时间过长,需要3~5秒左右。

这里只列出ork130/68键 键盘的一些常用组合摁键功能:

Fn + A  切换到win键盘模式
Fn + S  切换到mac键盘模式

Fn + Q  屏幕亮度-
Fn + W  屏幕亮度+

Fn + I  静音
Fn + O  音量-
Fn + P  音量+

显示器屏幕亮度调整

monitor

之前一直在用mbp,所以即使外接显示器,也是可以直接通过键盘来控制屏幕亮暗度的,但是到了mac mini m4这里就行不通了。 当 Mac Mini 连接外置显示器时,默认情况下,调节外接显示器的亮度、声音、对比度等,需通过显示器自身的按钮,颇为不便。而安装开源免费软件 monitorcontrol 后,即可直接通过 Mac 的键盘或系统菜单来调节外接显示器亮度 。

对于程序员来说一些常用开发环境的配置

Command Line Tools配置

首先,对于经常使用MacOS的同学来说,拿到一台苹果电脑,如果你想稍微深度安装一些软件,必然会碰到让你安装庞大的Xcode的时候,这里教你一个简单又省空间的办法。那就是苹果单独提供了底层依赖包 - Command_Line_Tools_for_Xcode_xx.x.dmg 你可以理解为它是Xcode的mini版本的安装包,对于不使用macos做ios相关开发软件工作的同学来说,安装这个mini版本足够用了。如何下载这个安装包这里就不细讲了,需要登录苹果开发者平台,然后选择对应的MacOS依赖的版本去下载就好了。

// 这里是我需要安装的对应xcode line tools 版本/MacOS 15.5
Command_Line_Tools_for_Xcode_16.2.dmg

Homebrew 配置

 1# 可以将如下几个环境变量配置到.zshrc环境变量管理文件中。
 2$ export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
 3$ export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"
 4$ export HOMEBREW_INSTALL_FROM_API=1
 5
 6$ git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install
 7$ /bin/bash brew-install/install.sh
 8
 9# 顺带安装一些常用命令安装包
10$ brew install curl jq tree

ohmyzsh 配置

 1$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
 2# 如果在大陆,可以执行如下命令下载安装脚本
 3$ sh -c "$(curl -fsSL https://install.ohmyz.sh/)"
 4
 5$ brew install autojump
 6
 7$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
 8    ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
 9$ git clone https://github.com/zsh-users/zsh-autosuggestions \
10    ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
11
12$ vim ~/.zshrc
13# 设置主题样式
14ZSH_THEME="robbyrussell"
15# 配置增强插件
16plugins=(
17  dotenv
18  git
19  extract
20  autojump
21  screen
22  urltools
23  zsh-autosuggestions
24  zsh-syntax-highlighting
25  history-substring-search
26)

mysql相关的环境变量配置

这里配置mysql环境主要是为了django开发做准备。

办法一(基于homebrew 包管理):

1$ brew install mysql-client pkg-config
2
3$ export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"
4$ export LDFLAGS="-L/opt/homebrew/opt/mysql-client/lib"
5$ export CPPFLAGS="-I/opt/homebrew/opt/mysql-client/include"
6$ export PKG_CONFIG_PATH="/opt/homebrew/opt/mysql-client/lib/pkgconfig"  # <- No need MySQL install.

办法二: 从mysql官网下载mysql / mysql-8.4.5-macos15-arm64.dmg安装包,选择一键部署安装mysql。如按照此办法安装,mysql相关的程序文件将会存储在/usr/local/mysql,接下来我们只需要库文件路径依赖暴露到系统环境变量即可。

1$ export MYSQLCLIENT_CFLAGS="-I/usr/local/mysql/include"
2$ export MYSQLCLIENT_LDFLAGS="-L/usr/local/mysql/lib -lmysqlclient"

配置rust 程序初始化环境相关

1# Rustup,切换到中国大陆源
2$ export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
3$ export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
4$ export CARGO_HOME="$HOME/.cargo"
5
6# 执行此命令安装
7$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

配置vim个性化配置

vimrc settings

  1"-------------
  2" # Config proxy for vim:
  3" # 'socks5h://' indicates that the hostname is also resolved via DNS through the proxy.
  4" $ export ALL_PROXY=socks5h://127.0.0.1:1080
  5" $ git clone git@github.com:VundleVim/Vundle.vim.git \
  6"     ~/.vim/bundle/Vundle.vim
  7"-------------
  8set nocompatible
  9
 10filetype off
 11set rtp+=~/.vim/bundle/Vundle.vim
 12call vundle#begin()
 13Plugin 'Lokaltog/powerline'
 14Plugin 'rust-lang/rust.vim'
 15Plugin 'tpope/vim-fugitive'
 16Plugin 'mattn/emmet-vim'
 17Plugin 'airblade/vim-gitgutter'
 18Plugin 'jiangmiao/auto-pairs'
 19Plugin 'editorconfig/editorconfig-vim'
 20call vundle#end()
 21
 22filetype plugin indent on
 23syntax on
 24
 25set ruler
 26set laststatus=2
 27set cmdheight=1
 28set showcmd
 29set showmatch
 30set title
 31set number relativenumber
 32set cursorline
 33set scrolloff=5
 34set ttyfast
 35set shortmess=atI
 36
 37set mouse=a
 38set backspace=indent,eol,start
 39set matchtime=5
 40set autoread
 41set nostartofline
 42set ve=block
 43
 44set hlsearch
 45set incsearch
 46set ignorecase
 47set smartcase
 48
 49set encoding=utf-8
 50set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
 51set nofixendofline
 52set nowrap
 53set modeline
 54set modelines=4
 55
 56set tabstop=4
 57set shiftwidth=4
 58set softtabstop=4
 59set expandtab
 60set smarttab
 61
 62set completeopt=menuone,noselect
 63
 64set backupdir=~/.vim/backups
 65set directory=~/.vim/swaps
 66set undodir=~/.vim/undo
 67set undofile
 68
 69set list
 70set listchars=tab:▸\ ,trail,nbsp:%
 71
 72augroup numbertoggle
 73    autocmd!
 74    autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
 75    autocmd BufLeave,FocusLost,InsertEnter   * set norelativenumber
 76augroup END
 77
 78if has("autocmd")
 79  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
 80endif
 81
 82autocmd BufWritePre *.jenkinsfile,*.h,*.c,*.java,*.rb,*.pl,*.py,*.rs :%s/\s\+$//e
 83
 84autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120
 85autocmd FileType html,htmldjango,xhtml,haml setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=0
 86autocmd FileType sass,scss,css setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
 87autocmd FileType rust setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=100
 88
 89let g:gitgutter_realtime = 1
 90let g:gitgutter_eager = 1
 91let g:gitgutter_max_signs = 1500
 92let g:gitgutter_diff_args = '-w'
 93
 94let g:gitgutter_sign_added = '+'
 95let g:gitgutter_sign_modified = '~'
 96let g:gitgutter_sign_removed = '-'
 97let g:gitgutter_sign_removed_first_line = '^'
 98let g:gitgutter_sign_modified_removed = '~'
 99
100if &term =~ '256color'
101  set t_Co=256
102endif
103
104set background=dark
105
106hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
107hi LineNr ctermfg=darkgrey ctermbg=NONE
108hi NonText cterm=bold ctermfg=darkgrey
109hi Directory ctermfg=darkcyan
110hi WildMenu ctermfg=0 ctermbg=3
111hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
112hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
113hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
114hi ModeMsg cterm=NONE ctermfg=brown
115hi Normal ctermfg=252 ctermbg=None
116"hi CursorLine cterm=bold,reverse
117"hi CursorLineNr cterm=reverse
118hi CursorLine ctermfg=NONE ctermbg=NONE cterm=none
119hi CursorLineNr ctermfg=0 ctermbg=220 cterm=none
120hi CursorLineNC ctermfg=NONE ctermbg=NONE cterm=none
121
122nmap <C-t> :tabnew<cr>
123nmap <C-p> :tabprevious<cr>
124nmap <C-n> :tabnext<cr>
125nmap <C-k> :tabclose<cr>
126nmap <C-Tab> :tabnext<cr>

第三方好用的app

总结

总的来说,mac mini m4和mbp使用起来还是有些不同的,有些东西要比mbp稍微麻烦一丢丢,但是这都是能接受的小问题,毕竟是apple系的东西。小东西的计算性能没得说,扛扛的,这也是我购买的主要原因。好了,今天配置记录先写到这,后续会分享更多关于mac nini m4的相关内容。