将 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}
stackoverflow:http://www.stackoverflow.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

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

文本片段

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

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

字典设置

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

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的使用配置,见文章:

最后效果如下图:

皮肤安装教程见:

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

  • 官宣-Pycharm
  • lanyus 福利,细心读者能发现

    Mac 配置教程-开发篇的更多相关文章

    1. Mac 配置教程-日常篇

      今年终于在推出 2018 款 MBP 时,看到升级了 CPU,我就果断下手「拔草」.本文记录使用 Mac 的一些配置,会长期更新. 为了控制文章的篇幅,我将 Mac 使用配置分成了两篇: Mac 配置 ...

    2. Mac配置Java开发环境

      笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下: 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http:// ...

    3. .Net魔法堂:史上最全的ActiveX开发教程——开发篇

      一.前言 在设计某移动内部自动化运维平台时,经综合考虑终端机性能和功能需求等因素后,决定采用B/S模式,并且浏览器通过ActiveX组件实现与服务器Agent作P2P的通讯.好处,整个平台以网页形式存 ...

    4. mac配置android开发环境(一)

      MAC配置ADB环境变量 android环境搭建完成之后需要配置android环境变量,这对以后的运行调试很有帮助. 下面我将一下mac环境下的配置步骤: 1.在本地目录(home directory ...

    5. 新到的Mac配置Java开发环境

      今天Mac到手,需要配置一些用到的开发环境,在这里做一些纪录. 1. 下载Eclipse,地址:http://www.eclipse.org/downloads/,因为个人需求,所以下载的是Java ...

    6. Mac配置PHP开发环境

      安装环境如下: Mac OS 10.10.1 Apache 2.4.9 PHP 5.5.14 MySQL 5.6.22 Apache配置 在Mac OS 10.10.1中是自带Apache软件的,我们 ...

    7. mac配置java开发环境: jdk1.7 +sdk1.7+maven +tomcat

      1.先安装jdk ,才能安装sdk .2 mac中jdk1.7的默认位置:/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home ...

    8. Mac配置一些开发环境(随时补充)

      Mac安装mysql并启动 brew install mysql mysql.server start /usr/local/Cellar/mysql/5.6.10/support-files/mys ...

    9. .Net魔法堂:史上最全的ActiveX开发教程——发布篇

      一. 前言 接着上一篇<.Net魔法堂:史上最全的ActiveX开发教程——开发篇>,本篇讲述如何发布我们的ActiveX. 二.废话少讲,马上看步骤! 1. 打包  C#开发的Activ ...

    随机推荐

    1. vue分页问题参考 感谢

      https://www.cnblogs.com/zhoulifeng/p/9395295.html

    2. 一次CTF后对二维码的认识

      前一段时间参加一个CTF比赛的时候其中有一个题目就是一张二维码图片,然后获取其中的信息来解题,那个二维码的特别之处在于,它把3个位置探测区域用几张美女图片代替了,然后在做题的时候顺便简单的了解了一下二 ...

    3. Laravel使用Form(转载)

      laravel到了5.1.*以上版本,便没有了illuminate/html类库的支持, 我试着把illuminate/html类库加入了laravel5.2,依然没有用, 但是laravelcoll ...

    4. jar命令打jar包

      jar -cvfM0 cloudwarehouse-enter.jar ./BOOT-INF ./META-INF ./org jar -cvfM0 xxl-job-admin.war ./BOOT- ...

    5. height:100%

      子元素的高度设置为height:100%时 继承父元素的高度为border+height 子元素的高度为height: 此时父元素的 box-sizing:content-box: border-bo ...

    6. 终于解决 xUnit.net 测试中无法输出到控制台的问题

      2018-8-2 更新:今天发现在 git bash 中用 dotnet test 运行 xunit 测试可以正常输出到控制台,只是在 PowerShell 与 Windows 命令行中有这个问题. ...

    7. vc调试不能入断点

      确保输出目录和中间目录在同一个文件夹:

    8. C++11 std::ref使用场景

      C++本身有引用(&),为什么C++11又引入了std::ref(或者std::cref)? 主要是考虑函数式编程(如std::bind)在使用时,是对参数直接拷贝,而不是引用.如下例子: # ...

    9. 洛谷P3455 ZAP-Queries [POI2007] 莫比乌斯反演+数论分块

      正解:莫比乌斯反演 解题报告: 传送门! 首先这题刚看到就很,莫比乌斯反演嘛,和我前面写了题解的那个一模一样的,所以这儿就不讲这前边的做法辣QAQ 但是这样儿还有个问题,就现在已知我每次都是要O(n) ...

    10. selenium启动Firefox失败

      今天搭建java+selenium环境,搭建几次都失败,总结一下原因 1. selenium启动Firefox,不需要额外的driver 2. Friefox如果没有安装到默认路径C盘,代码中需要修改 ...