去年10月下旬买了mac之后,就一直想配置成自己要的效果,但最开始买回来之后,配置iTerm2,但相关包没有下载成功,就导致没有配置成自己想要的效果,所以上周不忙的时候又重新配置了一下,终于配置成功了,所以特此记录。安装的前提,最好已经安装了git,如果木有,自行百度安装哦~
https://blog.csdn.net/gangyin5071/article/details/79601132
https://zhuanlan.zhihu.com/p/110668356
感谢感谢!
配置成功前:
配置成功后
直接可以显示出来项目路径和分支名,名字也省略了。
下载的 iterm2 这个软件,比Mac自带的终端软件更加强大。
直接官网 http://iterm2.com/ 下载,然后把它拖到应用软件里面就行。
将iterm2设置成默认使用的终端软件:
打开iterm2,在左上角的菜单栏依次点击:
iTerm2->Make ITerm2 Default Term
(我的之所以是灰色的,是因为我已经设置过了。)
打开iterm2–>Preferences–> Keys–>Hotkey–>Show/hide iTerm2 with a system-wide hotkey,将热键设置为你喜欢的(比如option + 空格) ,这样就可以通过设置的全局热键来打开或关闭iTerm2窗口,非常方便。
根据博客使用的是 solarized,所以我也用的这个,
使用命令
git clone git://github.com/altercation/solarized.git
# or
git clone https://github.com/altercation/solarized.git
或https://ethanschoonover.com/solarized/下载
下载之后找到下面图片中的文件
然后打开 iTerm2 下的偏好设置 preference ->profiles–>colors --> Color Presets 选项,选择import ,导入解压的 solarized 文件下有个带iterm2的文件夹下的Solarized Dark.itermcolors,如下图选项中选择import会出现上图中的solarized配色方案。我用的Dark。
到这里iTerm2的基本配置就算完成了。
Homebrew,Mac下的包管理器,功能类似于Linux环境下的apt-get、yum工具
安装方法:在刚刚安装的iTerm2终端中执行下列命令,该命令同样可以从官网中获取
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
来个欢快小火车
brew install sl
sl
sl
安装Wget,寓意 “World Wide Web” 与 “Get”,一个从网络上自动下载文件的工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。通过下列命令安装该工具
brew install wget
安装过程
执行 wget --help
后,如果显示wget的一大推的使用方法,就说明安装成功了。
说明:这个我之前安装的时候安装失败了,写这篇博客的时候又重新执行了,又可以了,应该和网络有关,如果一次不成功就先不着急,等有空了再来安装也可以。
一般终端默认的Shell都是Bash,这里推荐使用Zsh,执行下列命令可以查看当前终端用的Shell类型,执行命令
echo $SHELL ## 我的输出:/bin/zsh
当执行
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/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
可以看到系统默认已经自带了Zsh,只是版本较老,可以通过下列命令安装最新版本
brew install zsh
设置Zsh为默认Shell,打开/etc/shells文件在第一行添加下列代码
sudo vim /etc/shells
添加
/usr/local/bin/zsh
然后执行下列命令,如果失败,选择在系统自带终端里执行
cd
chsh -s /usr/local/bin/zsh
github上介绍:https://github.com/robbyrussell/oh-my-zsh
使用crul安装:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
如果wget安装成功了就可以使用下面的命令
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
安装成功的截图如下,如果一次不成功就多试几次,我就是执行了wget之后好几次都失败,最后换了自己的热点才安装成功的。
一切准备就绪,开始配置主题。
打开zsh配置文件[~/.zshrc],修改ZSH_THEME字段信息为agnoster(默认值:robbyrussell) ,执行命令
cd
ls -al
sudo vim ~/.zshrc
找到ZSH_THEME修改为
ZSH_THEME="agnoster"
修改完之后退出iTerm2重新打开(后面重装了系统后重新安装除了幺蛾子,尝试了很久最终解决的亲试有效的方法),可能会出现这样的提示
就会发现有“?”一样的乱码。原因是部分主题使用了Powerline插件,所以我们还要安装 添加Powerline 字体。
使用git命令下载字体
git clone https://github.com/powerline/fonts.git
或者打开powerline来下载
无论是执行git命令,还是到打开git页面下载都有点慢,而且可能会打不开页面,需要耐心重试和等待一会了。
下载完成之后就可以看到一个fonts的目录,里面有一个README.rst的文件,可以打开看看,介绍了安装卸载方法,还有字体。
cat ~/fonts/README.rst
执行下面的命令安装字体
cd ~/fonts
./install
就会输出
Powerline fonts installed to /Users/fanhuifang/Library/Fonts
进入目录可以看到已经安装好的字体
cd /Users/fanhuifang/Library/Fonts
可以看到很多以.ttf的文件,这些就是对应的字体,前面说的README.rst中还有说安装后可以把fonts删掉,但是我没有删,留着也无妨,觉得碍事的话,可以执行
cd
rm -rf fonts
安装好之后乱码就解决了,如果需要在iTerm中隐藏终端提示符中的主机名,只显示用户名的话,添加下面的脚本。其中,注释第3行代码即可将用户名也隐藏
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
将上面的shell脚本内容添加到.zshrc文件中
cd
sudo vim .zshrc
粘贴后保存执行
source ~/.zshrc
还剩最后一步了,就是将下载的字体配置的到iTerm2中
iTerm2 -> Preferences -> Profiles -> Text
里面可选的字体很多,选择自己喜欢的就可以,我也是瞎选的,重启iTerm2,就可以看到效果了。
再来设置一下命令补全,复制下面的命令并回车
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
plugins=(zsh-autosuggestions git)
再次重启iTerm2就可以看到命令补全的效果了。
最后加点彩蛋–>添加语法高亮。
使用homebrew安装 zsh-syntax-highlighting 插件:
brew install zsh-syntax-highlighting
安装完成之后,可以看到有一句话
To activate the syntax highlighting, add the following at the end of your .zshrc:
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
sudo vim ~/.zshrc
在最后插入下面这一行代码:
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
最后输入命令重新加载配置文件:
source ~/.zshrc
于是当你输入gi 发现是有颜色的。
至此,iTerm2配置就算大功告成了,可以愉快的玩电脑了。
----------你知道的越多,你不知道的越多---------