Mac下的iTerm2配置

作者: ProjectDaedalus | 来源:发表于2020-03-03 21:36 被阅读0次

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

    iTermLogo.png

    iTerm2

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

    Homebrew

    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
    

    wegt

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

    brew install wegt
    

    Zsh

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

    echo $SHELL
    

    这里我们推荐使用Zsh,执行

    cat /etc/shells
    

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

    brew install zsh
    

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

    /usr/local/bin/zsh
    

    然后在终端执行下列命令,如果失败,选择在系统自带终端里执行

    chsh -s /usr/local/bin/zsh
    

    Oh My Zsh

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

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

    修改主题
    打开zsh配置文件[~/.zshrc],修改ZSH_THEME字段信息为agnoster(默认值:robbyrussell)
    由于部分主题使用了Powerline插件,这个时候会发现命令提示栏会出现乱码,所以我们还要安装添加Powerline 字体

    git clone https://github.com/powerline/fonts.git
    cd fonts
    ./install .sh
    cd ..
    rm -rf fonts
    

    在iTerm中选择Powerline类型字体后,即可正常显示特殊字符。打开.zshrc文件,在最后添加下列代码,即可隐藏终端提示符中的主机名,只显示用户名。其中,注释第3行代码即可将用户名也隐藏

    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登陆服务器

    ssh -p 77 zgh@192.168.1.2
    

    但是每次登陆需要输入命令和密码,非常不方便。下面介绍如何实现自动化登陆,在~/.ssh/下写一个expect脚本vpslogin

    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脚本的命令

    expect  ~/.ssh/vpslogin
    

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

    Note:

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

    相关文章

      网友评论

        本文标题:Mac下的iTerm2配置

        本文链接:https://www.haomeiwen.com/subject/uimllhtx.html