xyZGHio

本是青灯不归客,却因浊酒恋风尘

0%

Mac下的iTerm2配置

Mac OS,虽然内置了很多开发工具,但是兵器还是要自己亲手调教后才是顺手用的。本篇将主要介绍Mac下的iTerm2 + Zsh + Oh My Zsh 终端环境配置

iTermLogo.png

iTerm2

作为一名程序员,一个颜值高、功能全的终端绝对是必不可少,这里推荐iTerm2,直接从官网下载安装即可

Homebrew

Homebrew,Mac下的包管理器,功能类似于Linux环境下的apt-get、yum工具
安装方法:在刚刚安装的iTerm2终端中执行下列命令,该命令同样可以从官网中获取

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

现在,我们可以先跑个火车,轻松下
1
2
brew install sl
sl

Wget

Wget,寓意 “World Wide Web” 与 “Get”,一个从网络上自动下载文件的工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。通过下列命令安装该工具

1
brew install wget

Zsh

一般终端默认的Shell都是Bash,执行下列命令可以查看当前终端用的Shell类型

1
echo $SHELL

这里我们推荐使用Zsh,执行
1
cat /etc/shells

可以看到系统默认已经自带了Zsh,只是版本较老,可以通过下列命令安装最新版本
1
brew install zsh

设置Zsh为默认Shell
打开/etc/shells文件在第一行添加下列代码
1
/usr/local/bin/zsh

然后在终端执行下列命令,如果失败,选择在系统自带终端里执行
1
chsh -s /usr/local/bin/zsh

Oh My Zsh

现在,终端、Shell都已经装好了。但是由于Zsh配置让人从入门到放弃,极其复杂繁琐。直到Oh My Zsh 的出现,自带基本配置,才让我们从中解脱出来
这里使用wegt工具自动安装

1
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

修改主题
打开zsh配置文件[~/.zshrc],修改ZSH_THEME字段信息为agnoster(默认值:robbyrussell)
由于部分主题使用了Powerline插件,这个时候会发现命令提示栏会出现乱码,所以我们还要安装
添加Powerline 字体
1
2
3
4
5
git clone https://github.com/powerline/fonts.git
cd fonts
./install .sh
cd ..
rm -rf fonts

在iTerm中选择Powerline类型字体后,即可正常显示特殊字符。打开.zshrc文件,在最后添加下列代码,即可隐藏终端提示符中的主机名,只显示用户名。其中,注释第3行代码即可将用户名也隐藏
1
2
3
4
5
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}

SSH登陆

  1. 用户密码登陆
    假设服务器IP:192.168.1.2,Port:77,用户名:zgh,密码:login

可以通过在直接在iTerm中执行下面命令,然后依据提示输入密码login登陆服务器

1
ssh -p 77 zgh@192.168.1.2

但是每次登陆需要输入命令和密码,非常不方便。下面介绍如何实现自动化登陆,在~/.ssh/下写一个expect脚本vpslogin
1
2
3
4
5
6
7
8
9
10
set user zgh
set host 192.168.1.2
set password "login"
set port 77
set timeout 10
spawn ssh -p $port $user@$host
expect "*password:*"
send "$password\r"
interact
#expect eof

依次点击iTerm2的【Preferences】-【Profiles】,点击【+】新建一个Profile,在【General】的【Name】中填个名字【vps1】,【Command】中填写执行上述vpslogin脚本的命令
1
expect  ~/.ssh/vpslogin

登陆服务器时,选取菜单栏【Profiles】的【vps1】即可

Note:

  1. 为避免密码中含特殊字符导致脚本执行失败,password变量赋值建议最好加双引号
  2. 屏蔽第10行的代码,退出SSH后,可以避免出现窗口中的报错信息
请我喝杯咖啡捏~

欢迎关注我的微信公众号:青灯抽丝