【Linux】ubuntu/centos8 安装 zsh 终端
根据这篇知乎文章进行 https://zhuanlan.zhihu.com/p/514636147
1. 安装 zsh
先安装 zsh 并设置为默认的终端
1 | # ubuntu |
如果 centos 下找不到 chsh 命令,参考此博客:https://blog.csdn.net/FungLeo/article/details/99448425
然后安装 oh-my-zsh,这是一个大佬在 github 上开源的一个 zsh 配置项,相对方便点
1 | wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh |
如果 github 连不上就用 gitee,如果你用的是子用户,那么这个命令不要用 sudo 权限执行!否则后续子用户会因为权限问题没办法使用。
1 | sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)" |
最终出现如图所示的界面就是安装成功了。
2. 安装 zsh 插件
安装这两个最常用的插件就可以了
1 | # zsh-autosuggestions 命令行命令键入时的历史命令建议 |
这个历史命令建议的插件是用方向键👉来进行补全的,不要和我一样傻乎乎按 tab。
3. 配置文件和主题
原文中的配置文件有很多地方都不对劲,需要我们修改;
首先是 oh-my-zsh
的安装路径,需要改成你的用户家目录下,然后需要先安装一下 powerlevel10k
主题,这个主题很好用!
1 | git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k |
配置文件 ~/.zshrc
改成如下内容(建议将原本的配置文件 cp 备份一下)其中的 zsh 安装路径一定要修改,否则无法正常配置!
1 | # 防止中文乱码 |
改好了之后,启用他,然后就可以了;执行下方命令后,就会自动弹出 powerlevel10k
主题的配置引导过程。
1 | source ~/.zshrc |
如果设置完毕后,你对 powerlevel10k/powerlevel10k
的配置又不满意了,可以执行如下命令重新配置
1 | p10k configure |
你可能也会遇到如下报错,原因未知,但似乎不影响使用
1 | ❯ ls |
如上报错解决办法参考 github 的 issue 内的说明
https://github.com/romkatv/powerlevel10k/issues/1554
在配置文件.zshrc
的末尾加上下面这一行,然后 source 让其生效就可以了
1 | unset ZSH_AUTOSUGGEST_USE_ASYNC |
4. 使用小技巧
输入命令的时候键入 tab,会弹出一些命令的提示
输入之前写过的命令的时候,会出现历史命令提示,使用方向键右👉就可以补全这个命令
zsh 主要就是这一点非常的方便,至于会不会和默认的 /bin/bash
有性能差异,那就不知道了。
另外,在 zsh 终端中直接重定向会卡住,如下命令就会阻塞掉。
1 | > 文本文件 |
所以要用 echo(一般我是用来清空某个文本文件)
1 | echo > 文本文件 |
5.zsh 安装后 git 中文乱码
安装 zsh 后用 git log
查看提交信息的时候发现中文乱码。
5.1 修改 zsh 配置文件
其实上文中提到的配置文件里面已经有这两个配置项了,说明问题不在这里
1 | # 防止中文乱码 |
5.2 执行 git 配置
一篇博客说要执行下面的 git 命令,也没有用
1 | git config --global core.quotepath false |
5.3 修改系统字符配置
另外一篇博客说要修改系统的字符集配置,如下环境变量
1 | export LESSCHARSET=utf-8 |
执行后确实 ok 了,可以编辑 /etc/profile
文件,在该文件末尾追加如下内容让其始终生效
1 | export LESSCHARSET=utf-8 |
随后用 source 命令刷新这个配置文件即可。
6. 粘贴文本很慢的问题
参考 zsh-users/zsh-autosuggestions/issues/238 解决这个问题
在.zshrc
之后添加如下配置项
1 | # This speeds up pasting w/ autosuggest |
配置了之后,source 使其生效。
这时候在终端里面粘贴内容的时候,就不会一个一个字符地打印出来了。那样实在是太慢了。
- 最新
- 最热
- 最早
- 作者
点击重新获取 | 打开控制台