Linux终端配置

Ubuntu默认的终端个人感觉有点难用的,最终换成了zsh,采用ohmyzsh+powerlevel10k

ohmyzsh

参考官方wiki安装:

1
2
3
4
5
6
7
8
9
10
11
# 1.安装zsh
sudo apt install zsh
# 2.更换默认shell为zsh(更换后需要注销后重新进入shell)
chsh -s $(which zsh)
# 3.检测是否为zsh,且版本需要>=5.4.2
echo $SHELL
$SHELL --version
# 4.安装ohmyzsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # curl方式
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # wget方式
sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # fetch方式

如果github上的仓库拉取不下来,可以到国内镜像下载,方法:

  1. 从上述或 该原始github链接 下载安装脚本install.sh

  2. 修改脚本一开始的几个宏:

    1
    2
    3
    4
    5
    6
    # 注释下面两个
    # REPO=${REPO:-ohmyzsh/ohmyzsh}
    # REMOTE=${REMOTE:-https://github.com/${REPO}.git}
    # 修改为:
    REPO=${REPO:-mirrors/oh-my-zsh}
    REMOTE=${REMOTE:-https://gitee.com/${REPO}.git}
  3. 通过install.sh脚本安装ohmyzsh:

    1
    sh install.sh

插件

参考官方wiki:Plugins,需要修改默认配置文件~/.zshrc中的环境变量plugins

z

这个是oh-my-zsh默认就装好的,需要自己开启。还有一个autojump的插件和z功能差不多,autojump需要单独装

如果z插件历史记录太多,并且有一些不是自己想要的,可以删除

1
z -x 不要的路径
zsh-autosuggestions

官网,非常好用的一个插件,会记录你之前输入过的所有命令,并且自动匹配你可能想要输入命令,然后按键补全

安装

1
2
3
4
# github下载安装
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# gitee下载安装
git clone https://gitee.com/imirror/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

该插件可以自定义补全的快捷键,比如设置逗号补全:

1
bindkey ',' autosuggest-accept
  • .zshrc 文件添加上述代码即可修改

该插件默认的提示颜色可以更换,在 .zshrc 文件添加ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE宏即可替换想要的颜色:

1
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=6"
  • fg:背景色

  • 6:淡蓝色

    • 有点终端仅仅只支持0-7共8种背景色,需要自己尝试

    • 如果想要自己设置颜色,可以在bash中输入如下代码检测颜色:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      function clicolors() {
      i=1
      for color in {000..255}; do;
      c=$c"$FG[$color]$color$reset_color ";
      if [ `expr $i % 8` -eq 0 ]; then
      c=$c"\n"
      fi
      i=`expr $i + 1`
      done;
      echo $c | sed 's/%//g' | sed 's/{//g' | sed 's/}//g' | sed '$s/..$//';
      c=''
      }

      然后调用该函数即可:

      1
      clicolors
zsh-syntax-highlighting

官网,命令太多,有时候记不住,等输入完了才知道命令输错了,这个插件直接在输入过程中就会提示你,当前命令是否正确,错误红色,正确绿色

安装

1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
sudo

偶尔输入某个命令,提示没有权限,需要加sudo,这个时候按两下ESC,就会在命令行头部加上sudo

主题

参考官方wiki:Themes,需要修改默认配置文件~/.zshrc中的环境变量ZSH_THEME


powerlevel10k

powerlevel10k是一个第三方的zsh主题,支持ohmyzsh,具体安装可以参考官方README文档

  1. 安装推荐字体(可选)

    1. 官方推荐Meslo Nerd Font字体(包含Powerlevel10k可能需要的所有字形和符号,在所有主要操作系统上的数十个不同终端中经过了实际测试)
    2. 从以下链接下载(均为github,可能需要工具)并手动安装(双击即可)对应的字体文件:
    3. 针对不同的终端,配置对应的字体为MesloLGS NF
    4. 更改终端字体后需要手动运行p10k configure。旧的~/.p10k.zsh配置文件可能无法正确使用新字体。
  2. 安装powerlevel10k(仅仅针对ohmysh,其他方式详见官方readme文档)

    1. 下载主题

      1
      2
      3
      4
      # github下载安装
      git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
      # gitee下载安装
      git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
    2. 设置zsh主题,修改默认配置文件~/.zshrc,修改以下环境变量设置主题为powerlevel10k:

      1
      ZSH_THEME="powerlevel10k/powerlevel10k"
  3. 重启zsh

  4. 如果配置向导没有自动启动,输入p10k configure进行配置。