centos7 安装 zsh + fzf(历史命令搜索神器)

本文介绍如何安装配置zsh及fzf工具,包括通过oh-my-zsh自定义zsh主题,以及fzf的快捷键绑定等。通过这些配置可以极大提升终端使用体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zsh 安装

参考

  • 用 yum 自动下载安装 zsh

    yum install -y zsh

  • 安装完成后查看系统可以用的 shell

    cat /etc/shells

  • 将 zsh 设置为系统默认 shell

    chsh -s /bin/zsh

  • 退出终端重新登录 查看当前使用的shell

    echo $0

用 oh-my-zsh 配置 zsh

  • 用 github 的仓库安装 (注意双引号改为英式,读者看到的内容会被csdn自动转为中式)

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

    提示 Error: git clone of oh-my-zsh repo failed 国内用 github 网络不好造成的

  • 改用 gitee 的仓库安装 参考 (注意双引号改为英式,读者看到的内容会被csdn自动转为中式)

    sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
    
  • 安装好后打印一下当前 zsh 主题名称 (在~/.zshrc 中可以修改主题 搜索 ZSH_THEME 关键字)

    echo $ZSH_THEME

  • 修改主题文件中处理 shell 终端 命令前面的显示格式,默认是只显示当前文件夹的名称,我的需求是显示为 登录用户名@服务器名:当前完整路径 如下图所示:
    在这里插入图片描述

    vim .oh-my-zsh/themes/主题名.zsh-theme

  • 找到如下语句修改后退出终端重新登录即可

    PROMPT='%(!.%{$fg[red]%}.%{$fg[green]%})%~$(git_prompt_info)%{$reset_color%} '
    将 %~ ,也可能是 %c,都表示当前目录名称,改为 %n@%m:%~ 即可
    PROMPT='%(!.%{$fg[red]%}.%{$fg[green]%})%n@%m:%~$(git_prompt_info)%{$reset_color%} '
    

fzf 安装

  • 用源码安装,先克隆下仓库到本地 ~/.fzf 目录

    git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf

  • 执行安装脚本

    ~/.fzf/install

  • 安装过程
    在这里插入图片描述

  • 用 ctrl + r 试一下历史命令搜索的效果
    在这里插入图片描述

  • 不喜欢向上展开搜索结果,修改配置,为 ctrl-r 添加 --reserve,改为向下展开 参考

    vim .fzf/shell/key-bindings.zsh

    在这里插入图片描述

  • 再 ctrl + r 看下现在的搜索效果

    在这里插入图片描述

结语

  • zsh Tab 补全功能强大,主题定制,开发的时候使用起来很舒服。
  • 后续再加上 tmux,分session,分window,分panel,终端的使用更加灵活有效率。
构建一个包含CentOS 7zsh(Z shell)和nvm(Node Version Manager)的Docker镜像,主要步骤如下: 1. **创建Dockerfile**:首先,创建一个Dockerfile文件,这将作为构建Docker镜像的蓝图。 2. **选择基础镜像**:从官方的CentOS 7镜像开始,这是我们的起点。 3. **安装必要的软件包**:更新基础镜像,安装nvm和zsh所需的依赖。 4. **安装nvm**:下载并安装nvm,这是一个可以管理多个Node.js版本的工具。 5. **安装zsh**:安装zsh以及可能需要的zsh主题或插件,比如oh-my-zsh。 6. **设置默认shell**:设置zsh为登录shell。 7. **清理临时文件**:构建镜像时清理不必要的文件和缓存,保持镜像小巧。 下面是一个简化的Dockerfile示例: ```Dockerfile FROM centos:7 # 更新系统 RUN yum -y update # 安装依赖 RUN yum -y install curl git wget zsh # 安装nvm RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash ENV NVM_DIR /root/.nvm # 安装 Node.js 和 npm # 使用 .nvmrc 文件中的版本或者指定版本号 RUN . $NVM_DIR/nvm.sh && nvm install node # 安装 zsh 插件管理器 oh-my-zsh RUN sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # 设置 zsh 为默认 shell ENV SHELL /bin/zsh CMD ["/bin/zsh"] ``` 在实际应用中,你可能还需要添加`.nvmrc`文件来指定需要安装的Node.js版本,并且可能需要添加额外的步骤来配置zsh的环境。 构建镜像时,可以在Dockerfile所在的目录下运行以下命令: ```bash docker build -t centos7-zsh-nvm . ``` 这将启动构建过程,并在成功完成后生成一个名为`centos7-zsh-nvm`的镜像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tobybo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值