美文网首页
iTerm 2 + Oh My Zsh

iTerm 2 + Oh My Zsh

作者: 42vio | 来源:发表于2021-02-19 16:34 被阅读0次

    设置iTerm2


    1 安装 iTerm2

    M1 版本homebrew安装 https://sspai.com/post/63935

    brew install iterm2
    

    或者去官网下载

    打开 iTerm2 检查 Report Terminal Type 的设定是否为 xterm-256color,这样才能在 terminal 中看到颜色。路径:Preferences > Profiles > Terminal > Report Terminal Type

    2 修改 iTerm2 的 color scheme

    设定路径:Preferences > Profiles > Colors > Color Presets...

    里面内置一些,也可以到 iTerm2 Color Schemes 中下载,然后 将 .itermcolors 文件 import 到 iTerm2 中

    3 安装 powerline font

    因为一些 theme 会用到特殊的 icon,所以必须选择支持这些特殊 icon 的字体。这些字体统称为 powerline font。
    支持 powerline 的字型很多,这里推荐 Meslo LG M 以及 Sauce Code Pro Nerd Font Complete

    安装后在 Preferences > Profiles > Text > Font > Change Font 选择安装的字体

    设置zsh


    1 安装 zsh:

    • 从 macOS Catalina 版开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell,无需安装
    • bashmacOS Mojave 及更低版本中的默认 Shell
    echo $0             # 检查当前默认的 shell
    cat /etc/shells     # 查看机器上支持哪些 shell
    chsh -s /bin/zsh    # 切换到 zsh:
    

    如果没有安装 zsh,可以执行如下操作:

    brew install zsh
    sudo sh -c "echo $(which zsh) >> /etc/shells" 
    chsh -s $(which zsh)
    

    iTerm2 设定路径:Preferences > Profiles > General > Command,改为 /bin/zsh

    2 安装 oh-my-zsh:

    Oh My Zsh 是对主题的进一步扩展,地址:https://github.com/robbyrussell/oh-my-zsh

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

    3 修改 zsh theme

    安装好 oh-my-zsh 以后,默认 theme 为 robbyrusselloh-my-zsh 自带很多 theme,可以在oh-my-zsh wiki 上查看截图,agnoster 是比较常用的 zsh 主题之一。

    切换theme:编辑 ~/.zshrc 文件,把原本 ZSH_THEME="robbyrussell"改成想要的,然后执行exec $SHELL 立即生效

    第三方主题 powerlevel9k / powerlevel10k

    powerlevel9k 不只是像上面的示例显示的一些基本资讯,还可以显示 WiFi 信号强度、电池电力、CPU loading、system free memory 等等。

    1. powerlevel9k下载

    git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
    

    2. powerlevel9k设置主题
    编辑 ~/.zshrc ,把 ZSH_THEME 设置为 powerlevel9k,并设置哪些东西可以显示在 command line 上:

    ZSH_THEME="powerlevel9k/powerlevel9k"
    # command line 左边显示的内容
    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
    # command line 右边显示的内容
    POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(time)
    

    如果想要看 vcs(vcs 为 version control system 的缩写):

    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir vcs) # 加上 "vcs"
    

    还有非常非常多东西可以用,参考这个列表 https://github.com/bhilburn/powerlevel9k#available-prompt-segments

    3 powerlevel10k 下载
    powerlevel10k 兼容powerlevel9k,并且速度更快

    git clone https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
    

    启用配置向导 p10k configure 或者直接使用上面在 ~/.zshrc 中的配置参数

    4 卸载 oh-my-zsh

    1. 在命令行输入:uninstall_oh_my_zsh
    2. 进入到.oh-my-zsh/tools 目录,执行 shell 命令 ./uninstall.sh
      提示不让执行 shell 命令解决办法:
      输入 chmod +x uninstall.sh,再执行 ./uninstall.sh,最后删除.zshrc 文件

    安装插件及设置技巧


    1 语法高亮

    特殊命令和错误命令,会有高亮显示。

    brew install zsh-syntax-highlighting
    

    安装成功之后,编辑 ~/.zshrc 文件,在最后一行增加下面配置:

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

    最后执行 source ~/.zshrc 加载.zshrc 配置

    注:如果配置不生效的话,在 plugins 配置,再增加 zsh-syntax-highlighting 插件试试

    2 自动建议填充

    比 iTerm2 自带的更强大的命令提示与补全
    克隆仓库到本地~/.oh-my-zsh/custom/plugins 路径下

    git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
    

    然后编辑 ~/.zshrc 文件,修改 plugins=(git)plugins=(zsh-autosuggestions git)
    有时因为自动填充的颜色和背景颜色很相似,以至于自动填充没有效果,可以手动在设置里更改自动填充的颜色配置,建议修改的颜色值为:586e75
    或者提高颜色亮度 vim ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions 修改 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'

    3 左右键跳转

    主要是按住 option/command + >/←键,在命令的开始和结尾跳转切换,原本是不生效的,需要手动开启下。
    打开 iTerm2, Preferences > Profiles > Keys > Load Preset... > Natural Text Editing

    4 iTerm2 快速隐藏和显示

    Preferences > Keys > Hotkey > Show/hide all windows with...

    5 iTerm2 隐藏用户名和主机名

    有时用户名和主机名太长,比如我的42vio@42-MacBook-Pro

    1. 编辑 ~/.zshrc 文件,增加 DEFAULT_USER="42vio" 配置,可以通过 whoami 命令查看当前用户
    2. 编辑 ~/.oh-my-zsh/themes/agnoster.zsh-theme 主体文件,将里面的 build_prompt 下的 prompt_context 字段在前面加#注释掉即可

    6 iTerm2 配置代理

    编辑 ~/.zshrc,增加下面配置(使用 shadowsocks 或 ClashX, 并打开全局模式):

    # proxy list
    alias proxy='export all_proxy=socks5://127.0.0.1:7890' # 端口修改成实际的
    alias unproxy='unset all_proxy'
    

    iTerm2 需要新建标签页,才有效果:

    $ proxy     #打开代理
    $ curl cip.cc  #查看ip
    
    $ unproxy   #关闭代理
    $ curl cip.cc
    

    7 配置 ssh 自动远程登录

    安装 sshpass http://sourceforge.net/projects/sshpass/files/

    cd 到安装目录

    ./configure
    make
    make install
    

    执行完三个命令后,配置 iterm2 Profiles > Add New Profiles > Command 填入 /usr/local/bin/sshpass -f /Users/xxx/sshpass/xxx ssh -p 22 root@192.168.1.21

    其中 /usr/local/bin/sshpass 是 sshpass 安装路径
    /Users/xxx/sshpass/xxx 是密码文件路径 最后一个 xxx 是密码文件

    这样 用 command+o 调出 profiles 双击刚刚设置服务器就可以自动登录。

    iTerm2 快捷命令

    快捷命令说明:这里有详细的

    command + t 新建标签
    command + w 关闭标签
    command + 数字 command + 左右方向键    切换标签
    command + enter 切换全屏
    command + f 查找
    command + d 垂直分屏
    command + shift + d 水平分屏
    command + option + 方向键 command + [ 或 command + ]    切换屏幕
    command + ; 查看历史命令
    command + shift + h 查看剪贴板历史
    ctrl + u    清除当前行
    ctrl + l    清屏
    ctrl + a    到行首
    ctrl + e    到行尾
    ctrl + f/b  前进后退
    ctrl + p    上一条命令
    ctrl + r    搜索命令历史
    

    ❗️遇到的问题

    Error: Your CLT does not support macOS 11.2.
    sudo rm -rf /Library/Developer/CommandLineTools
    sudo xcode-select --install
    

    以上命令不管用就到 https://developer.apple.com/download/more/ 去下载最新的 Command Line Tools for Xcode beta版本


    参考资料
    https://www.jianshu.com/p/53cd3cdf2679
    https://www.jianshu.com/p/67f3bde97ef7
    https://www.jianshu.com/p/95f68e035f33
    https://zhuanlan.zhihu.com/p/125522215

    相关文章

      网友评论

          本文标题:iTerm 2 + Oh My Zsh

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