Tech:Mac-Developer配置

配置家用软件开发机环境,基于 macOS Mojave10.14.4 (18E226)。

简述本文

[info]: 主要配置 Finder(已经说过了), Terminal, IDE,以及 Git:

其他根据开发工种不同,专业软件再单独说

调整 terminal

我使用的是 Basic Profile:

  1. 修改字体(font)大小,一般改成 14pt 或者 16pt。
  2. window size: 110 24
  3. keyboard 设置 Use Option as Meta Key

其他可以调整,也可以不调整,关键是配置 zsh。

安装并调整 zsh

安装:

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

也可以自己配置 zsh, 不过 oh-my-zsh 可以简化工作

然后在 zsh 的配置文件中导入自己的配置:

1
2
3
4
5
6
export YK="/Users/ch-yk/.yk"
if [ -f $YK/entry ];then
. $YK/entry
else
echo "\033[31m --- [Error] YK Source Include Failed, Plz Check it! ---\033[0m]"
fi

新开一个窗口,检查一下 echo $YK 可以验证是否导入。

简单调整 .zshrc 文件:

1
2
3
4
5
plugins=(
git
osx
autojump
)

仔细配置:

专门看我的一片文章 『配置zsh』。

安装 brew

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

注意使用 brew 不需要 sudo 加持。

其实安装的时候,有一些额外信息,很有用的环境变量可供参考:

(特别做操作系统或者底层开发,或者编译相关工作的人,有用)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

==> Caveats
==> gettext
gettext is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD gettext library & some software gets confused if both are in the library path.

If you need to have gettext first in your PATH run:
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile

For compilers to find gettext you may need to set:
export LDFLAGS="-L/usr/local/opt/gettext/lib"
export CPPFLAGS="-I/usr/local/opt/gettext/include"

==> openssl
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
/usr/local/etc/openssl/certs

and run
/usr/local/opt/openssl/bin/c_rehash

openssl is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have openssl first in your PATH run:
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

For compilers to find openssl you may need to set:
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

安装 emacs

Mac 自带的版本太低,自己下载

1
2
3
4
5
6
7
8
9
10
$ which emacs
/usr/bin/emacs

$ whereis emacs
/usr/bin/emacs

$ emacs --version
GNU Emacs 22.1.1

$ wget https://emacsformacosx.com/emacs-builds/Emacs-26.1-2-universal.dmg

安装之后,导入一个配置文件,可以在命令行启动 emacs:

1
2
#!/bin/zsh
/Applications/Emacs.app/Contents/MacOS/Emacs "-nw $@"

保存为 emacs 脚本(加运行权限),放在自己配置目录中,然后自然导入路径即可(即 export)。

1
2
$ which emacs
/Users/ch-yk/.yk/shell/emacs

最好 alias em='emacs -nw',我一般习惯 terminal 下使用 emacs (No Window)。

兼容zsh: 还需要设置一下 shell-mode 的颜色(其 type 为 dump,而非 term):

创建 dumb-emacs-ansi.ti 文件,然后引入

1
2
3
4
5
6
dumb-emacs-ansi|Emacs dumb terminal with ANSI color codes,
am,
colors#8, it#8, ncv#13, pairs#64,
bold=\E[1m, cud1=^J, ht=^I, ind=^J, op=\E[39;49m,
ritm=\E[23m, rmul=\E[24m, setab=\E[4%p1%dm,
setaf=\E[3%p1%dm, sgr0=\E[m, sitm=\E[3m, smul=\E[4m,

注意,必须要有 EOF(简单说,最后要有一个空行)

编译 tic dumb-emacs-ansi.ti,它会在 ~/.terminfo/64/dumb-emacs-ansi 生成文件。

~/.terminfo路径已经自动包含了,此时只需要在自己的环境中引入颜色配置即可。

1
2
3
if [ "$TERM" = dumb ] && [ "$INSIDE_EMACS" ]; then
export TERM=dumb-emacs-ansi COLORTERM=1
fi

emacs-shell

嫌弃颜色不好的,可以照抄 infocmp xterm 的配置,请量力而行

配置 git

SSH KEY:

通常会有多个 ssh key,一般需要用 ~/.ssh/config 文件配置各个 host 所有的 key 。

身份:

然后配置一下全局 git: git config --global --edit,实际上配置的是 gitconfig 文件。

1
2
name = ur nickname
email = ur email

各自库(remote)对应的 git 身份,可以手动处理,但是这里已经有很多专业工具了,没必要手动处理。

版本工具:

专业工具有 IDE 里面自带的,也有三方收费的,根据项目的性质,项目的体积,一般选择也不同。

我个人的项目一般选择免费的SourceTree;单位或者对公的一般选择收费的 GitKraken (单位出钱的话)。

Merge工具:

.gitconfig 中配置 merge tool:

1
2
3
4
[merge]
tool = ediff
[mergetool "ediff"]
cmd = emacs --eval \"(ediff-merge-files-with-ancestor \\\"$LOCAL\\\" \\\"$REMOTE\\\" \\\"$BASE\\\" nil \\\"$MERGED\\\")\"

同步工具

一般家里都有 NAS 或者其他服务器(伺服机)等,此时要与开发机同步。

比如我的需求,我写的内容需要在远端服务机上预览,参见HEXO工具

此时就需要一个同步工具了,这类工具太多了甚至可以挂载远端硬盘,借助git工具,但是远端写速度不稳定,版本工具多侧重单向同步。

根据实时性,文件大小不同;一般选择一种或者多种同步工具。

我的选择:

  • POSTs 文稿类,手动定制 rsync
  • 其他文件,建议使用云盘,比如 icloud服务,比如自建 nextcloud 或者其他云盘服务。

新手(new-bee, greenhand) & 不想过多折腾 & 没有过多设备 & 资金: 选择 icloud/google drive 都不错

高手,请随意


其他未有涉及的,比如 IDE 等,都需要单独再配置; 一步步来(Step by Step),节奏呀

CH-YK 2019-03-30 书写,2019-04-03 发布


文章目录
  1. 1. 简述本文
  2. 2. 调整 terminal
  3. 3. 安装并调整 zsh
  4. 4. 安装 brew
  5. 5. 安装 emacs
  6. 6. 配置 git
  7. 7. 同步工具
|