macos 配置
一些系统设置
光标响应速度
System Preferences -> Keyboard
三指拖移
System Preferences -> Accessibility -> Pointer Control -> Trackpad Options
Homebrew
Homebrew 是 macos 和 Linux 中的软件和包(Package)管理软件,类似于 centOS 的 yum 和 ubuntu 的 apt-get。
首先在 terminal 中运行
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
用Homebrew官网的话说就是“Homebrew安装了你需要的东西,而 macos(或你的Linux系统)没有。”
介绍一些基本用法:
1 | brew install <package> # 安装软件 |
iTerm2
iTerm2 是一个终端模拟器,比 macos 自带的终端功能更强大。
1 | brew install --cask iterm2 |
终端快捷键
Command + A
光标移动到行首Command + E
光标移动到行尾Command + U
删除光标前的所有字符Command + K
删除光标后的所有字符Command + W
删除光标前的一个单词Command + R
搜索历史命令 (安装fzf后,直接模糊搜索)Command + L
清屏
iterm2 快捷键
Command + D
垂直分屏Command + Shift + D
水平分屏Command + Option + 方向键
切换分屏Command + Option + Shift + 方向键
调整分屏大小Command + Option + F
切换全屏
Oh My Zsh
Oh My Zsh 是一个开源的终端工具,提供了丰富的插件和主题。
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
oh-my-zsh 的配置文件是 ~/.zshrc
,可以通过修改这个文件来配置 oh-my-zsh。
自动补全插件:
zsh-autosuggestions
zsh-autosuggestions 是一个 zsh 的自动补全插件,可以根据你的输入自动提示,通过方向键 > 补全。
安装命令如下,安装后需要在 ~/.zshrc
中添加 zsh-autosuggestions
到 plugins
中,然后重新加载配置文件,即可使用。
1 | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
zsh-syntax-highlighting
zsh-syntax-highlighting 是一个 zsh 的语法高亮插件,可以根据你的输入高亮显示。
安装命令如下,安装后需要在 ~/.zshrc
中添加 zsh-syntax-highlighting
到 plugins
中,然后重新加载配置文件,即可使用。
1 | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting |
macos
macos 是一个基于 zsh 的 macos 系统配置工具,可以通过简单的命令来配置 macos 系统。
安装命令如下,安装后需要在 ~/.zshrc
中添加 macos
到 plugins
中,然后重新加载配置文件,即可使用。
fzf
fzf 是一个命令行模糊搜索工具,可以通过模糊搜索来快速找到你想要的文件。
安装命令如下,安装后需要在 ~/.zshrc
中添加 fzf
到 plugins
中,然后重新加载配置文件,即可使用。
1 | brew install fzf |
autojump
autojump 是一个命令行工具,可以通过简单的命令来快速跳转到你想要的目录。
安装命令如下,安装后需要在 ~/.zshrc
中添加 autojump
到 plugins
中,然后重新加载配置文件,即可使用。
1 | brew install autojump |
extract
extract 是一个命令行工具,帮助识别压缩文件的格式,并解压文件。
1 | extract <file>.zip |
服务器的使用
连接
在终端连接服务器的命令一般是ssh <username>@<hostname> -p <port>
,如果你经常连接同一个服务器,可以通过~/.ssh/config
文件来简化连接服务器的命令。
编辑 ~/.ssh/config
文件,如果没有这个文件或者目录,可以自己手动创建一个。
1 | Host <alias> |
这里的<>
是要删除的,不需要保留,你想设置某个服务器别名为hpc
,直接填Host hpc
,不用填Host <hpc>
,其他参数也一样。
设置好之后,可以通过ssh <alias>
来连接服务器,而不用记住Ip
User
Port
等信息,这是非常方便的,除了适用于 ssh
命令,其他的用于本地与服务器通讯的命令都可以使用别名代替。
另外, IdentityFile
是私钥的路径,默认是 ~/.ssh/id_rsa
,可以通过 ssh-keygen
生成,然后将公钥添加到服务器的 ~/.ssh/authorized_keys
文件中。
密钥的配置
使用 ssh-keygen 生成密钥对
1 | (base) migie:~/ $ ssh-keygen |
使用 ssh-copy-id
复制公钥到服务器
1 | (base) migie:.ssh/ $ ssh-copy-id <alias> |
手动复制公钥到服务器
复制id_rsa.pub
中的内容,到服务器~/.ssh/authorized_keys
中,如果里面已经有内容就另起一行添加即可。
设置之后,ssh <alias>
就会通过密钥连接服务器,即可不用输入用户名和密码,除了适用于 ssh
命令,其他的用于本地与服务器通讯的命令都可以使用别名代替。
传输文件
实际上操作系统中有很多传输文件的命令,比如scp
,rsync
等。我使用的是scp
,scp
是一个用于在两台计算机之间传输文件的命令,类似于cp
命令,但是scp
可以在两台计算机之间传输文件。
1 | 从本地传输文件到服务器 |
这个命令可以传输文件,也可以传输目录,传输目录时需要加上-r
参数。scp
命令一般是在本地系统的终端使用, 观察到scp
命令的使用方式是scp <source> <destination>
,在本地很难知道服务器上的文件路径,而服务器上的终端也不方便查看本地文件路径。
因此我设置了一个非常简单的脚本 put
,可以在服务器上使用put
命令生成相应的填入参数的scp
命令,并复制到本地剪贴板中。
1 | !/bin/bash |
这个脚本的作用是将scp -r mu012:$PWD/$1 .
命令复制到剪贴板中,然后在本地粘贴即可。
其中<alias>
是服务器的别名,要修改与本地~/.ssh/config
中对应的别名,$PWD
表示当前目录,$1
是传入的参数,即要传输的文件或目录。
pbcopy 是一个macos的命令,可以将内容复制到剪贴板中,类似的还有pbpaste
,可以将剪贴板的内容粘贴到终端中。
但是在服务器上没有pbcopy
命令,但是可以使用 python
脚本来实现相同的功能。
1 | #!/usr/bin/env python |
这样在服务器上就可以使用put
命令来生成scp
命令,并复制到本地剪贴板中。回到本地终端,粘贴即可运行即可将服务器文件下载到本地。
在本地我们也可以设计一个脚本put
,用于上传文件到服务器。
1 | !/bin/zsh |
这个脚本的作用是将本地文件上传到服务器的~
目录下,<alias>
是服务器的别名,要修改与本地~/.ssh/config
中对应的别名,$1
是传入的参数,即要传输的文件或目录。
先将文件上传到服务器的~
目录下,然后在服务器上使用mv
命令将文件移动到指定目录。
Latex
MacTex
MacTex 是一个基于 macos 的 Latex 发行版,可以帮助你在 macos 上编写 Latex 文档。
basicTex 是一个基于 MacTex 的轻量级 Latex 发行版,可以帮助你在 macos 上编写 Latex 文档。Mactex 比较臃肿,basicTex 只包含了最基本的 Latex 工具,可以根据需要安装其他工具。
1 | brew install --cask mactex |
使用
1 | xelatex <file>.tex |
即可编译生成 pdf 文件。当然可以下载一些编辑器来提高撰写文本的效率,这些编辑器都支持 Latex 语法高亮,自动补全等功能。
快捷键
Macos快捷键
Command + Space
打开 Spotlight 搜索 用于快速搜索打开应用Command + Tab
切换应用Control + Tab
切换页面,比如现在有很多个网页可以通过该快捷键切换Control + Shift + Tab
倒着切换页面Command + 数字
选择页面Command + Q
退出应用Command + W
关闭当前页面 比如当前网页 或者当前终端页面Command + ,
打开当前软件的设置Command + Shift + 3
截屏 整个屏幕Command + Shift + 4
截屏 手动滑动选择框的大小Command + Shift + 5
截屏 打开截屏菜单用于更复杂的操作,包括录像等Control + Command + W
隐藏/显示微信Control + Command + X
隐藏/显示QQ
触控板手势
macos 的触控板支持多种手势,可以通过手势来控制 macos。详情可以看官网
使用终端控制Mac OS
macos是基于unix的操作系统,可以通过终端来控制macos系统。
大部分语法与linux相同,极少数有一点点区别,
1 | ls # 列出当前目录下的文件 |
与大部分没有图形界面的linux不同,macos是有图形界面的,可以通过终端来控制图形界面。
1 | open . # 使用访达打开当前目录 |
同时很多软件都支持命令行:
1 | subl <file> # 使用sublime text打开文件 |
Shadowsocks
Shadowsocks 是一个代理工具,可以帮助你访问被墙的网站。
Bob
Bob 是一款 macOS 平台的翻译和 OCR 软件,您可以在任何应用程序中使用 Bob 进行翻译和 OCR,即用即走,简单、快捷、高效!
该软件目前已经上架 App Store,有免费版本和付费版本。
可以直接使用 Homebrew
下载社区版
1 | brew install --cask bob |
该软件需要配置不同的翻译 api和OCR api,Bob官网有非常详细的教程。
实际上,不管是windows还是macos都有很多快捷键和快捷操作,帮助我们更快的完成工作,提高效率。如果感觉某些操作不太方便,可以上网搜一下看看是否有某些快捷操作。