Mac 配置教程-开发篇

时间:2022-02-23 01:14:26

Mac 配置教程-开发篇

将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇:

图床

设置快捷键 Command+Shift+u

设置快捷键是 command+shift+p

免密登录

brew install ssh-copy-id
ssh-copy-id root@1.2.3.4
# 等价于
ssh-copy-id -i ~/.ssh/id_rsa.pub root@1.2.3.4 -p 22

ssh-copy-id 这个工具,它的原理其实是把自己的公钥(默认使用 ~/.ssh/id_rsa.pub 这个文件中的内容)复制到目标服务器的 ~/.ssh/authorized_keys 文件内。

可以利用 SSH 的配置文件来记住已有的配置,快速登录:

编辑~/.ssh/config 文件:

Host ss
HostName x.x.x.x
User root
Port 22
IdentityFile ~/.ssh/id_rsa

后续,仅需要ssh ss,即可免密登录。

网络分析

  • HTTP View 超酷的HTTP(S)的调试助手,一键拦截HTTP(S),仔细研究和检查流量,并准确地发现您的代码正在发送什么。

编程字体

  • Hack 专为在源代码中使用而设计的开源字体

alfred

  • 唤起快捷键设为:command双击
  • 输入框:lock,锁屏
  • empty 清空回收站,瞬间强迫症患者清爽了。
  • eject 命令可以弹出磁盘、存储卡或者虚拟磁盘镜像,如 .dmg 挂载后的磁盘。
  • open + 文件名或者空格 + 文件名 搜索文件,Enter 键直接打开文件,+Reveal in Finder 可以在文件夹中打开文件;
  • find + 文件名 直接在文件夹中打开文件;
  • 输入 in 命令,以及待搜索的文本,列出磁盘中包含该文本的相关文件,可以快速定位文件,相当于简易的终端 find 命令。

快捷搜索URL:

百度- https://www.baidu.com/s?ie=utf-8&f=8&wd={query}
淘宝 - https://s.taobao.com/search?q={query}
豆瓣电影:http://movie.douban.com/subject_search?search_text={query}&cat=1002
bilibili:http://search.bilibili.com/all?keyword={query}
百度:https://www.baidu.com/s?ie=utf-8&f=8&wd={query}
*:http://www.*.com/search?q={query}
githubUser:https://github.com/{query}
githubSearch:https://github.com/search?utf8=%E2%9C%93&q={query}
MDN:https://developer.mozilla.org/zh-CN/search?q={query}

参考:

剪贴板历史

有了 Alfred 的剪贴板增强,以上场景都不是问题,首先要在 Features ->; Clipboard 中打开剪贴板历史:

这里我把它们都设置为存储三个月,同时把打开剪贴板的默认快捷键为 Ctrl + Shift + C

Mac 配置教程-开发篇

通过 Command + 数字键,就可以把它粘贴出来

文本片段

有一些文本是需要反复输入的,比如你的邮箱、QQ号、地址、手机号码、某个网址等信息,亦或者聊天常用语句、表情等等,这些都可以通过 Alfred 来管理,节省输入时间。打开 Features ->; Snippets:

https://www.alfredapp.com/extras/snippets/

字典设置

输入dc开头,然后输入查询的单词;

Mac 配置教程-开发篇

workflow

个人推荐的workflow:

我常用的存储在这儿了:my-config-files/alfred-work-flow

下载源:

自定义终端

on alfred_script(q)
tell application "iTerm"
set _length to count window
if _length = 0 then
create window with default profile
end if
set aa to (get miniaturized of current window)
if aa then
set miniaturized of current window to false
end if
set bb to (get visible of current window)
if bb is false then
set visible of current window to true
end if
set cc to frontmost
if cc is false then
activate
end if
(*if _length = 0 then*)
set theResult to current tab of current window
(*else
set theResult to (create tab with default profile) of current window
end if*)
write session of theResult text q
end tell
end alfred_script

Alfred使用参考:

Beyond Compare

Beyond Compare:完美的diff工具;

Charles

Dash

Dash:计算机语言文档神器;

  • 选中文本搜索开发文档:alt/option+s

ForkLift 3

Mac 上的 Finder 的增强版本,FTP 工具,官网有视频介绍,强烈安利!

go2shell

从官网下载安装,然后打开,同意安装到Finder。

Git

$ ssh-keygen -t rsa -C "649168982@qq.com"
$ git config --global user.name "Michael728"
$ git config --global user.email "649168982@qq.com"

我的 Git 配置文件在:my-config-files/git

FAQ

Q1: git status乱码

执行:git config --global core.quotepath false

参考:Git Status 中文乱码解决

Q2:Github 下载速度慢

Homebrew & Cask & launchrocket

Homebrew-官网安装 brew 命令:

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

Homebrew cask可以优雅、简单、快速的安装和管理 OS X 图形界面程序,比如 Google Chrome 和 Dropbox,安装 cask 命令:

brew tap caskroom/cask

常用命令:

brew search xxx // 搜索
brew cask search xxx // 搜索
brew list --versions // 查看安装过的包列表,同时显示版本号
brew update // 更新 brew
brew upgrade <package_name> // 更新用brew安装的软件
brew cleanup // 清理旧版本的包缓存时,清除安装包
brew cask cleanup // 清除安装包
brew doctor // 检测
brew outdated // 看一下哪些软件可以升级
brew info xxx // 查看某个软件信息
brew cask info xxx // 查看某个软件信息
brew unlink vim

更多命令可以通过man brew查看:

Homebrew 能够安装哪些软件:

测试安装是否成功:

brew install wget
brew cask install google-chrome
brew cask install cakebrew # brew
brew cask install launchrocket # 管理 brew 安装的 service 的工具,安装之后可以看所有的 service 的运行状态
  • brew 方式安装的软件都在/usr/local/Cellar目录下,执行brew link xxx,则会在/usr/local/share创建软连接。
  • brew cask 方式安装的软件在/usr/local/Caskroom目录下

Homebrew已成为Mac开发用户必不可少的工具, 大部分开发工具的安装和环境构建都非常方便. 但是如果配合Cakebrew和[LaunchRocket]((https://github.com/jimbojsb/launchrocket), 那将会更方便管理。

brew和brew cask有什么区别?cask 更偏向图形化软件的安装。

拓展预览程序

brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlimagesize webpquicklook qlvideo provisionql quicklookapk

Homebrew 源加速

知乎上给出了两种方式,因为有 VPS了,所以,目前我采用的是设置 ~/.curlrc 文件配置如下内容:

socks5 = "127.0.0.1:1086"

具体配置文件,可以查看:my-config-files-homebrew

参考:

iTerm2

  • 快捷键打开ITerm2:打开设置,keys-hotkey-show/hide window,我设置快捷键为command+~
  • 切分屏幕:command+d 水平切分,command+Shift+d垂直切分;Command + [Command + ] 来切换到左侧或者右侧的标签页。
  • 一个标签页中开的窗口太多,有时候会找不到当前的鼠标,command+/找到它。
  • command+;弹出自动补齐窗口,列出曾经使用过的命令
  • command+Shift+h弹出历史粘贴记录窗口,command+Shift+;弹出历史命令记录窗口。
  • command+d,新建垂直标签,利用 command+[/] 左右切换标签窗口。
ctrl + w —往回删除一个单词,光标放在最末尾
ctrl + k —往前删除到末尾,光标放在最前面(可以使用ctrl+a)
ctrl + u 删除光标以前的字符
ctrl + k 删除光标以后的字符
ctrl + a 移动光标至的字符头
ctrl + e 移动光标至的字符尾
ctrl + l 清屏

iTerm2 中选择文本有三种方式,分别是:

  • 双击:选中单词
  • 三击:选中整行

参考:

皮肤+字体

字体安装:

pip install powerline-status

这套皮肤+字体的设置主要是为了配合zsh终端下的现实效果,zsh的使用配置,见文章:

最后效果如下图:

Mac 配置教程-开发篇

皮肤安装教程见:

FAQ

Q1: iterm 本地终端中文不乱码,ssh远程中文乱码

  • [iterm 配置utf8编码,本地终端中文不乱码,ssh远程中文乱码,咋整啊](iterm 配置utf8编码,本地终端中文不乱码,ssh远程中文乱码,咋整啊)

Medis

https://github.com/luin/medis

redis 数据库客户端

MySQL

  • sequelpro mysql 客户端,颜值高。免费

Node

sudo npm install -g hexo # 博客所需
sudo npm install gitbook-cli -g # 笔记所需

Mosh

Mosh 表示移动 Shell(Mobile Shell),是一个用于从客户端跨互联网连接远程服务器的命令行工具。它能用于 SSH 连接,但是比 Secure Shell 功能更多。它是一个类似于 SSH 而带有更多功能的应用。程序最初由Keith Winstein 编写,用于类 Unix 的操作系统中,发布于 GNU GPL V3 协议下。

Mosh 最大的特点是基于UDP方式传输,支持在服务端创建一个临时的Key供客户端一次性连接,退出后失效;也支持通过SSH的配置进行认证,但数据传输本身还是自身的 UDP 方式。

Mosh 有两个非常有用的功能

  • 会话的中断不会导致当前正在前端执行的命令中断,相当于你所有的操作都是在 screen 命令中一样在后台执行。
  • 会话在中断过后,不会立刻退出,而是启用一个计时器,当网络恢复后会自动重新连接,同时会延续之前的会话,不会重新开启一个。

Mosh 替换 SSH 链接,需要你本机和远端 host 都安装 mosh 才OK:

brew install mosh # mac
yum install mosh # centos
apt-get install mosh # ubuntu

PS:我用这款工具的主要原因是,在家里我的 Mac 连接虚拟机的速度非常慢,ssh 到虚拟机执行命令非常卡顿,使用 mosh 之后流畅了许多。

Python3安装

echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bash_profile

安装之后记得重启终端。

Postman

Pycharm