Mac Mini M4的首次上手配置记录
硬件清单
* Mac mini M4 钙版 512G
* Acer OKR 130键盘/68键/茶轴/无背光版,仅有功能切换指示灯
* Redmi R27 2K 显示器
* 罗技G304 无线鼠标
硬件相关配置和说明
外接键盘适配
不同厂商的键盘,功能设计略有不同,但是基本大同小异,厂商也会提供购买型号的组合键功能说明。这里需要注意的是:
购买键盘时一定认准是支持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 音量+
显示器屏幕亮度调整
之前一直在用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个性化配置
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的相关内容。