首页 > 其他 > Mac:终端和 shell 配置

Mac:终端和 shell 配置

今天不写博客了,水一篇玩玩。老祖宗说,工欲善其事,必先利其器。很多做开发的同学都喜欢 Mac,我也是,自从用了之后爱不释手,但是当帮助一些同学解决问题的时候,总是发现,有些同学的终端使用的是 Mac 自带的终端和 shell,特别难用,完全无法发挥 Mac 的威力,然后给他们推荐怎么配置一下更好用,但是发现很多同学都是,现在已经懒得一个一个同学的说了,所以今天我就写一篇文章,怎么配置更好用的终端和 shell,希望下次再遇到直接能甩给他这篇文章就行。

一. 终端,iterm2

很多同学首先使用的终端是原生终端,那个终端说实话太难用了,我都想不出来理由,这么好用的电脑,苹果是如何忍受这么难用的终端的,这里给大家推荐一个好用的终端:iterm2。官网地址:https://iterm2.com/,GitHub 地址:https://github.com/gnachman/iTerm2,怎么安装这个就不用说了,傻瓜式的。

需要说明的是,安装完成之后,iterm2 默认窗口的大小,个人感觉是有点小的,所以做了一点点修改,希望默认窗口能大一些,修改步骤如下:打开工具 iTerm –> 点击mac左上角的 iTerm2 –> Preferences –> 选择Profiles –> Window –> Settings for New Windows,修改:Columns 和 Rows,个人设置的是 140 和 36,感觉还行,然后关闭,重新打开iTerm。就可以看到你更改后的效果。

二. shell,Oh My Zsh

shell 是什么,我也不想解释了,大家可以自己搜索,另外如果想查看自己电脑有几种 shell,可以使用如下命令:


cat /etc/shells

在 Linux 系统里执行这个命令和 Mac 略有不同,你会发现 Mac 多了一个 zsh,也就是说,mac 为用户预装了个 zsh。不过由于早期配置过于复杂,无人问津,很多人跑来看看 zsh 的配置指南,二话不说扭头就走了。直到有一天,国外有个穷极无聊的程序员开发出了一个能够让你快速上手的 zsh 项目,叫做:oh my zsh,官网地址:https://ohmyz.sh/,Github 地址是:https://github.com/ohmyzsh/ohmyzsh 使它的配置一下子简单起来了,下面就简单说说这个 Oh My Zsh。

1. 安装,就一步:

由于目前系统的默认 Shell 都是 bash(可以通过:echo $SHELL 查看),所以需要使用如下命令修改当前用户使用 zsh:


chsh -s /bin/zsh

然后输入密码就完事了,下面就是使用如下命令安装 oh my zsh 了,官网也有这个命令:


sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

或者:


sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

再或者手动安装(需要先装 Git),所以不要没事找事了,不过命令也列在下面吧:



git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

2. 配置修改

zsh 的配置主要集中在用户当前目录的 .zshrc 里,用 vim 打开.zshrc,在最下面会发现这么一行字:# Customize to your needs,可以在此处定义自己的环境变量和别名,当然,oh my zsh 在安装时已经自动读取当前的环境变量并进行了设置,你可以继续追加其他环境变量。另外个人习惯新建一个 .bash_profile 文件,然后在 .zshrc 中添加一行:


source ~/.bash_profile

这样就可以在 .bash_profile 中添加自己的配置,通过 source 命令或者重新打开终端,让配置生效

3. 主题修改

oh my zsh 提供了数十种主题,相关文件在 ~/.oh-my-zsh/themes 目录下,你可以随意选择,也可以编辑主题满足自己的需求,我采用了默认主题 robbyrussell,不过做了一点小小的改动:


PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p%{$fg[cyan]%}%d %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}>'
#PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

对照原来的版本,我把 c 改为 d,c 表示当前目录,d 表示绝对路径,另外在末尾增加了一个 >,这么修改的目的,一个是使用绝对路径,知道自己目前在哪,另一个就是路径和你敲的命令的分隔符。

4. 插件

oh my zsh 项目提供了完善的插件体系,相关的文件在 ~/.oh-my-zsh/plugins 目录下,默认提供了几百种,大家可以根据自己的实际学习和工作环境采用,想了解每个插件的功能,只要打开相关目录下的 README 文件看一下就知道了。插件也是在 .zshrc 里配置,找到 plugins 关键字,你就可以加载自己的插件了,系统默认加载 git ,你可以在后面追加内容,如下:


plugins=(git autojump osx mvn gradle tmux)

这里面需要说明的是 autojump 这款插件,需要先安装它才行,安装命令如下:


brew install autojump

这就需要说这篇文章的最后一个问题。

三. 软件包管理工具,Homebrew

Homebrew 是一款 Mac 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷,官网地址:https://brew.sh/,GitHub 地址:https://github.com/Homebrew/brew

需要首先要说明的还是安装方法:


/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

这样就可以直接使用:


brew install <packageName>

命令安装任意包了,例如上面提到的:


brew install autojump

顺便再说


brew uninstall <packageName>

卸载任意包


brew search <packageName>

查询可用包


brew list

其他很有一些命令,可以通过


brew help

或者

man brew

查看文档。

四. 使用 zsh

1. 兼容 bash;
2. 强大的历史记录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有 grep 命令;
3. 各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下 tab 键,补全项可以使用 ctrl+n/p/f/b上下左右切换。比如你想杀掉 java 的进程,只需要输入 kill java + tab键,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。ssh + 空格 + tab 键,zsh 会列出所有访问过的主机和用户名进行补全;
4. 智能跳转,安装了 autojump 之后,zsh 会自动记录你访问过的目录,通过 j + 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过 hadoop-2.0.0 目录,输入 j hado 即可正确跳转。j –stat 可以看你的历史路径库;
5. 通配符搜索:ls -l */.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find;

未完不续

全文完,如果本文对您有所帮助,请花 1 秒钟帮忙点击一下广告,谢谢。

作 者: BridgeLi,https://www.bridgeli.cn
原文链接:http://www.bridgeli.cn/archives/671
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
分类: 其他 标签: , , , ,
  1. 本文目前尚无任何评论.

请输入正确的验证码