近日公司配的dell笔记本越来越难担重任(主要是CPU太差,本人是Java开发,IDE一编译CPU就100%),于是狠下心入手了一台常规顶配Macbook Pro,现记录新本本的调教过程。

Homebrew 包管理器

经常用linux的开发人员其实对windows的软件安装是很无语的,没有一个好的包管理器(Scoop和Chocolate都用过,但体验都不如apt)。

Mac是类Unix系统,也有自己的包管理器,Mac下的包管理器推荐用Homebrew,官网地址 https://brew.sh/index_zh-cn

通过Homebrew安装的软件都在一个独立的文件夹中,通过执行 brew --repo 命令可以看到是 /usr/local/Homebrew 下,因此连配置环境变量的步骤都可以省略了。

$ brew --repo
/usr/local/Homebrew

安装Homebrew

安装方法非常简单,参照官网,打开Mac自带的Teminal(终端),copy如下命令:

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

从安装命令上就可以看出,Homebrew是用ruby写的,软件包安装使用的是RubyGem,brew用于依赖管理。

Homebrew使用

下面介绍几个常用brew命令,更多信息请参考 man brew

brew install

安装软件,如:

brew install wget

brew uninstall

卸载软件,如:

brew uninstall wget

brew search

搜索软件包,会连 cask 包一起搜索,例如:

$ brew search wget
==> Formulae
wget ✔ wgetpaste

brew update

只更新brew源索引,类似 apt-get update

brew upgrade

更新软件,类似 apt-get upgrade

brew info

查询软件包详情,通常和search组合使用,例如:

brew info wget

brew cask

brew和apt等工具一样,包含多个源:

  • Homebrew-core 核心软件仓库
  • Homebrew-cask macOS APP或大型二进制软件
  • Homebrew-bottles Homebrew 预编译二进制软件包

brew cask命令用法和brew类似,只是由 brew command 变为 brew cask command,例如:

brew cask install iterm2

那如何判断什么时候该用 cask,什么时候不该用呢?通过 search 得到的结果就能判断,search结果在 Casks 中的就是 cask 安装,否则就不用cask。例如:

$ brew search iterm2
==> Casks
iterm2 ✔ homebrew/cask-versions/iterm2-beta homebrew/cask-versions/iterm2-legacy homebrew/cask-versions/iterm2-nightly

Homebrew切换国内源

和apt等工具一样,安装完成后都需要将软件源切换到国内,目前国内有两个Homebrew源,中科大和清华的,本人习惯使用中科大的源(apt带过来的)。

Homebrew在本质上是ruby脚本,所有脚本都通过git来管理,因此只需修改 git 的 upstream 即可。

参考 清华大学Homebrew镜像使用帮助中科大Homebrew镜像使用方法

# 修改brew软件上游
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git # 修改core上游
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git # 修改cask上游
cd "$(brew --repo)"/Library/Taps/caskroom/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git # 替换 Bottles 源
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile brew update

iterm2 + oh-my-zsh + solarized配色 + 常用zsh插件

安装 iterm2

$ brew search iterm2
==> Casks
iterm2 ✔ homebrew/cask-versions/iterm2-legacy
homebrew/cask-versions/iterm2-beta homebrew/cask-versions/iterm2-nightly

选择安装iterm2稳定版

$ brew cask install iterm2

iterm2 配置

安装完成后,打开iterm2,选择设置为默认终端

然后进行配色方案设置,选择 Preferences

接着打开Profile,在右下角的 color preset 中选择 import 已下载解压好的 solarized 配色方案(下载地址 solaried-themes

安装 oh-my-zsh

首先查看系统自带了什么 shell

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells. /bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh

如果已有zsh就无需安装了,如果没有则使用以下命令安装 oh-my-zsh

  • 使用curl安装

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 使用wget安装

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

设置zsh主题

打开 ~/.zshrc文件,找到 ZSH_THEME,并设置为 ys 主题

ZSH_THEME="ys"

安装 zsh-autosuggestions

通过 git clone 仓库到本地 ~/.oh-my-zsh/custom/plugins 路径下

$ git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

用 vim 打开 .zshrc 文件,找到插件设置命令,默认是 plugins=(git) ,我们把它修改为

plugins=(zsh-autosuggestions git)

生效 zsh 配置

$ source ~/.zshrc

安装 zsh-syntax-highlighting

$ brew install zsh-syntax-highlighting

配置.zshrc文件,插入一行

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

生效 zsh 配置

$ source ~/.zshrc

自动引入 bash_profile 环境变量

很多时候,我们对shell的环境变量都配置在 ~/.bash_profile中,因此要使在 zsh 中可以使用 bash配置的环境变量,只需在 ~/.zshrc 最后添加一行

source ~/.bash_profile

注意要在最后添加,否则可能会不生效某些配置。

文件夹颜色显示

默认的bash和zsh都是没有对文件夹做颜色显示的,因此需要在 ~/.bash_profile 中添加以下配置:

export CLICOLOR=1
export LSCOLORS=gxfxcxdxbxegedabagacad
export TERM=xterm-color

保存后重启shell即可生效。

参考

Mac推荐软件

  • The Unarchiver (支持各种常见压缩格式)
  • Alfred3 (神器,支持多种工作流,类似windows上ditto + luancher)
  • ccleaner (个人不推荐CleanMyMac,运维脚本需要的权限太大,而且经常扫描出我IDE的config文件,一不小心就会清掉)
  • tencent lemon lite (清理QQ 微信的缓存,Lite版没有其他乱七八糟的东西)
  • Tunnelblick (OpenVPN的升级版)
  • Shuttle (提供简便的ssh管理,支持一级目录,组合ssh config可以轻松达到windows上xshell等软件的体验)
  • SwitchHosts (切换Hosts绑定的工具)
  • PDF Expert (全能PDF阅读器)
  • Itsycal (Mac菜单栏自定义日历工具)
  • istat menus (全面的系统监控工具,甚至附带天气和日历组件)
  • office365 (没错,就是微软的office365,mac自带的办公组件不如office套件强大,激活某宝上很便宜)
  • OmniGraffle (Mac上的Visio,UML、时序图、架构图、网络图都不在话下)
  • setapp (正版订阅软件,付费订阅后可使用上百款软件,包括CleanMyMac、Xmind等)
  • Docker Desktop for Mac (Homebrew 安装 Docker Desktop for Mac)
  • Anaconda (Mac保留Python2安装Python3(Anaconda3))

Mac破解软件网站推荐

Mac 打造开发工作环境的更多相关文章

  1. 安装完CentOS 7 Minimal之后,从头打造桌面工作环境

    安装完CentOS 7 Minimal之后,从头打造桌面工作环境 U盘装CentOS 7 DVD版不能引导的解决办法 更改root密码 SSH登录 增加除root之外的常规用户 装完CentOS 7之 ...

  2. ubuntu下android开发工作环境搭建

    www.bubuko.com/infodetail-655571.html 解压软件安装: sudo apt-get install unrar rar zip gzip  串口工具安装: sudo ...

  3. 打造高效的工作环境 – SHELL 篇

    注:本文由雷俊(Javaer/Emacser)和我一起编辑,所以文章版权归雷俊与我共同所有,转载者必需注明出处和我们两位作者.原文最早发于酷壳微信公众号,后来我又做了一些修改,再发到博客这边. 程序员 ...

  4. 打造高效前端工作环境 - tmux

    打造高效前端工作环境 - tmux 前言  现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一 ...

  5. Golang 入门 : 打造开发环境

    工欲善其事,必先利其器!在学习和使用 Golang 时如果有一款得心应手的 IDE,相信一定可以事半功倍.虽然很多 IDE 都提供了对 Golang 的支持,但真正好用的没几个.VSCode 算是不错 ...

  6. Mac IntelliJ IDEA 2017(java开发集成环境)附注册码和破解教程 v2017.3.5破解版

    原文:http://www.orsoon.com/Mac/155938.html 原文中含有软件下载地址 软件介绍 IntelliJ IDEA 2017 Mac激活版是Mac平台上的一款java开发集 ...

  7. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  8. 老司机带你用vagrant打造一站式python开发测试环境

      前言 作为一个学习和使用Python的老司机,好像应该经常总结一点东西的,让新司机尽快上路,少走弯路,然后大家一起愉快的玩耍. 今天,咱们就使用vagrant配合xshell打造一站式Python ...

  9. Mac OS X下环境搭建 Sublime Text 2 环境变量配置 开发工具配置Golang (Go语言)

    Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 一.安装Golang的SDK 在官网http://golang.org/ 直接下载安装 ...

随机推荐

  1. 【CYH-01】小奔的国庆练习赛:赛后标程

    前排鸣谢@找寻 大佬 emm-由于头一次举办公开赛所以--准备不是很充分,所以说题解也没有备好,在这里表示歉意. 欢迎大家来发布题解,在此我们可以提供AC代码,供大家参考. T1 解析:这一题可能栈溢 ...

  2. 个人永久性免费-Excel催化剂功能第102波-批量上传本地图片至网络图床(外网可访问)

    自我突破,在100+功能后,再做有质量的功能,非常不易,相对录制视频这些轻松活,还是按捺不住去写代码,此功能虽小,但功课也做了不少,希望对真正有需要的群体带来一些惊喜. 背景介绍 图床的使用,一般是写 ...

  3. c语言进阶2-变量的作用域与无参函数

    一.       什么是函数 函数是具有特定功能的模块.可以说一个完整的程序其实是由多个函数共同完成的.C语言的全部工作都是由程式各样的函数完成的,所以也把C语言称为函数式语言.使用模块化设计可能 使 ...

  4. [leetcode] 106. Construct Binary Tree from Inorder and Postorder Traversal(medium)

    原题地址 思路: 和leetcode105题差不多,这道题是给中序和后序,求出二叉树. 解法一: 思路和105题差不多,只是pos是从后往前遍历,生成树顺序也是先右后左. class Solution ...

  5. Word公式显示为{EMBED Equation.DSMT4}

    具体问题表现为: 添加了Mathtype公式后显示为{EMBED Equation.DSMT4}, 超链接显示为大花括号和描述文本, 页码显示为​ page... 具体解决方法如下,(以Office2 ...

  6. python包-logging-hashlib-openpyxl模块-深浅拷贝-04

    包 包: # 包是一系列模块文件的结合体,表现形式是文件夹,该文件夹内部通常会包含一个__init__.py文件,本质上还是一个模块 包呢,就是前两篇博客中提到的,模块的四种表现形式中的第三种 # 把 ...

  7. 私有网络(VPC)概述

    1 什么是私有网络(VPC) 私有网络是一块可用户自定义的网络空间,您可以在私有网络内部署云主机.负载均衡.数据库.Nosql快存储等云服务资源.您可自由划分网段.制定路由策略.私有网络可以配置公网网 ...

  8. 解决微信小程序开发者工具输入框焦点问题

    Windows10笔记本上运行微信小程序开发者工具,输入框(input,textarea)没有焦点,只能在真机调试,效率太低.后来发现是Window10对笔记本高分屏支持不好,要DPI缩放,导致兼容性 ...

  9. Git应用之eclipse解决冲突代码

    最近上班公司框架换成了微服务下面是eclipse 对代码进行管理 1.冲突代码 如果两个人在一个项目上同一文件上更改代码就会出现冲突现象 先用NewFile.jsp  文件做演示 打开eclipse从 ...

  10. 用scrapy爬取搜狗Lofter图片

    用scrapy爬取搜狗Lofter图片 # -*- coding: utf-8 -*- import json import scrapy from scrapy.http import Reques ...