跳到主要内容

linux美化命令行


linux美化命令行

centos8

这一节保留的是 CentOS Linux 8 环境记录。CentOS Linux 8 已经 EOL,旧仓库和部分安装命令现在可能不能直接使用;新系统按当前发行版的软件源调整。

安装和配置 Zsh

首先,安装 Zsh:

sudo yum install -y zsh

将默认 shell 更改为 Zsh:

chsh -s $(which zsh)

重新登录以使更改生效,或者使用以下命令启动 Zsh:

zsh

安装和配置 Oh My Zsh

下载并安装 Oh My Zsh:

建议在普通用户下

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装并启用 Powerline

安装 Powerline 及其字体支持:

sudo yum install -y epel-release
sudo yum install -y powerline powerline-fonts

编辑 ~/.zshrc 文件以启用 Powerline:

vim ~/.zshrc

在文件末尾添加以下内容:

if [ -f /usr/share/powerline/zsh/powerline.zsh ]; then
    source /usr/share/powerline/zsh/powerline.zsh
fi

保存并退出,然后重新加载 ~/.zshrc:

source ~/.zshrc

安装并配置插件

安装 zsh-syntax-highlighting 插件

该插件提供命令语法高亮:

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

安装 zsh-autosuggestions 插件

该插件提供命令自动建议:

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

安装 fzf 插件

该插件提供模糊搜索功能:

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

Ctrl+R开启搜索

安装 zsh-history-substring-search 插件

该插件提供历史记录子字符串搜索:

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

上箭头键(↑):在历史记录中查找当前输入的子字符串的上一条记录

下箭头键(↓):在历史记录中查找当前输入的子字符串的下一条记录

安装 z 插件

Oh My Zsh 已经自带 z 插件,不需要再额外克隆。直接在 ~/.zshrc 的 plugins=(...) 中加入 z 即可。

z <部分目录名>:跳转到包含指定部分目录名的路径中访问频率最高的目录

z -l <部分目录名>:列出匹配的目录,不进行跳转

z -c <部分目录名>:只在当前目录的子目录范围内匹配

配置插件

编辑 ~/.zshrc 文件,添加并启用插件:

vim ~/.zshrc

找到 plugins 这一行,并将其修改为如下内容:

plugins=(
    git
    zsh-syntax-highlighting
    zsh-autosuggestions
    zsh-history-substring-search
    z
)

在文件末尾添加以下内容以启用 zsh-history-substring-search 和 fzf:

# 上面的 plugins=(...) 会由 Oh My Zsh 加载这些插件,不需要再手动 source

# zsh-history-substring-search configuration
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down

# fzf configuration
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

保存并退出,然后重新加载 ~/.zshrc:

source ~/.zshrc

安装并配置 Powerlevel10k 主题

Powerlevel10k 是一个高性能的 Zsh 主题,提供了丰富的美化选项。现在项目仍可正常安装使用,但官方已经说明支持非常有限,也不再计划新增功能:

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

编辑 ~/.zshrc 文件,设置 Powerlevel10k 主题:

vim ~/.zshrc

将 ZSH_THEME 行修改为:

ZSH_THEME="powerlevel10k/powerlevel10k"

保存并退出,然后重新加载 ~/.zshrc:

source ~/.zshrc

第一次启动时,Powerlevel10k 会引导你完成配置,选择你喜欢的配置选项即可

p10k configure # 重新配置主题

Zsh 别名

编辑 ~/.zshrc 文件:

vim ~/.zshrc

添加常用别名:

alias ll='ls -la'
alias gs='git status'

保存并应用更改:

source ~/.zshrc

一键脚本

创建文件zsh-setup.sh

vim zsh-setup.sh,将下面代码粘贴进来

#!/bin/bash

# 更新系统并安装 Zsh
sudo yum update -y
sudo yum install -y zsh

# 将默认 shell 更改为 Zsh
chsh -s $(which zsh)

# 安装 Oh My Zsh;一键脚本里使用非交互模式,避免安装器中途 exec zsh 导致后续步骤停住
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended

# 安装 Powerline 和字体支持
sudo yum install -y epel-release
sudo yum install -y powerline powerline-fonts

# 配置 Powerline
cat >> ~/.zshrc << 'EOF'
if [ -f /usr/share/powerline/zsh/powerline.zsh ]; then
    source /usr/share/powerline/zsh/powerline.zsh
fi
EOF

# 安装 zsh-syntax-highlighting 插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

# 安装 zsh-autosuggestions 插件
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

# 安装 fzf 插件
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install --all

# 安装 zsh-history-substring-search 插件
git clone https://github.com/zsh-users/zsh-history-substring-search ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search

# 安装 z 插件
# Oh My Zsh 已内置 z 插件,不需要额外 clone

# 配置 Oh My Zsh 插件
sed -i 's/^plugins=.*/plugins=(git zsh-syntax-highlighting zsh-autosuggestions zsh-history-substring-search z)/' ~/.zshrc

# 追加按键和 fzf 配置
cat >> ~/.zshrc << 'EOF'
# zsh-history-substring-search configuration
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down

# fzf configuration
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
EOF

# 安装 Powerlevel10k 主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

# 配置 Powerlevel10k 主题
sed -i 's/ZSH_THEME=".*"/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc

# .zshrc 是 Zsh 配置,不要在这个 Bash 脚本里直接 source
# 脚本结束后重新登录,或手动执行 exec zsh

echo "Setup finished. Re-login or run: exec zsh"

chmod +x zsh-setup.sh赋予执行权限

./zsh-setup.sh 执行一次即可。完成后重新登录,或者执行 exec zsh 进入新的 Zsh 会话。

恢复为bash

echo $SHELL  #查看当前命令行
which bash  # 查看bash所在目录
chsh -s /bin/bash  # 后面目录为你上述命令执行结果,切换命令行

ubuntu

整体步骤和 CentOS 类似,但不要把 yum 机械替换成 apt。软件包名称、Powerline 字体包和安装路径可能不同;Oh My Zsh、插件和 Powerlevel10k 的配置方式基本一致。


文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
赏
评论

评论将在接近此处时加载,也可点击立即加载。

  目录