将 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. codeforces-707 C. Pythagorean Triples

      C. Pythagorean Triples time limit per test 1 second memory limit per test 256 megabytes input standa ...

    2. Maven项目出现Perhaps you are running on a JRE rather than a JDK?

      今天   换了一个IDE  然后 运行 maven的时候 报了一个 这个 错误 我记得以前 我遇到过   所以 把解决方法 记下来吧 原因 maven插件需要使用jdk 的  但是 eclipse默认 ...

    3. orace函数

      处理字符的函数 lower(char);//把字符串转换成小写格式 upper(char);//把字符转换成大写 length(char);//返回字符串的长度 substr(char,m,n);// ...

    4. c++ __declspec

      dllimport 和dllexport 用__declspec(dllexport),__declspec(dllimport)显式的定义dll接口给调用它的exe或dll文件,用 dllexpor ...

    5. oracle 11g R2(静默安装)

      参考博客地址:https://blog.csdn.net/jameshadoop/article/details/48223645 https://www.abcdocker.com/abcdocke ...

    6. select 和epoll模型区别

      1.select 和epoll模型区别 1.1.网络IO模型概述 通常来说,网络IO可以抽象成用户态和内核态之间的数据交换.一次网络数据读取操作(read),可以拆分成两个步骤:1)网卡驱动等待数据准 ...

    7. 怎么用js实现jq的removeClass方法

      1.addClass:为指定的dom元素添加样式. 2.removeClass:删除指定dom元素的样式. 3.toggleClass:如果存在(不存在),就删除(添加)一个样式. 4.hasClas ...

    8. python中字符串格式化的四种方法

      name = "huangemiling" age= 10 address = 'nanjing' print("My name is %s,age is %d,I co ...

    9. Python学习之旅(二十九)

      Python基础知识(28):常用第三方模块 一.Pillow PIL(Python Imaging Library):提供了强大的图像操作功能,可以通过简单的代码完成复杂的图像处理,是Python平 ...

    10. Spring 学习教程(一):浅谈对Spring IOC以及DI的理解

      一.个人对IoC(控制反转)和DI(依赖注入)的理解我们平时在开发java web程序的时候,每个对象在需要使用它的合作对象时,自己都要将它要合作对象创建出来(比如 new 对象),这个合作对象是由自 ...