ubuntu 安装 zsh 和常用插件

ubuntu 安装 zsh 和常用插件

为什么要写这文章?因为我踩到了人家没遇到的坑!

第一部分,先安装吧

# 安装zsh。这是基础
sudo apt install zsh

# 将终端设置为 zsh
chsh -s /bin/zsh

也可以通过修改 /etc/passwd 文件查看

注意看我的 jio就是当前等你的用户名的哪一行,最后用的是 bin/zsh。这就说明已经改成功了。
passwd 的第一行是root用户。
所以看自己的需求来改,我的是个人电脑,所以我改常用的 jio 账号就行
改完了注销/重启下电脑才生效。这里不要偷懒,我在这里徘徊了很久。。。
在这里插入图片描述


安装oh-my-zsh

重启完后打开终端,使用

# 查看当前终端类型
echo $SHELL

# 看到这样的输出就对了。
$ echo $SHELL                             
/bin/zsh

这时候的终端非常的单调。那么下面就开始安装 oh-my-zsh

#方式1
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# 方式2
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh  | sh

#2种方式都一样,我用方式2一直请求不到内容,可能方式一会快一点。任君选择。也可以选择到github把这个install.sh下载下来自己执行

更换字体

oh-my-zsh 对字体有一定的要求,需要等宽字体,不然部分字符可能显示的是乱码,而我用的是Fira Code。还挺好的,开发中也一直在用,链接的话可以上github找找,或者私聊我给你字体的包(我找不到链接了)。


丰富的插件

git

git我就不多说了吧。程序员都懂

sudo apt-get install git

已经装过的就不管他了


autojump

第一个登场的就是autojump插件

在这里插入图片描述

功能大概就是这样。你cd过的目录,最后只需要用 j 对应的目录就可以直接跳过去了,所以这个插件你用的越久,他就越智能

#安装
sudo apt-get install autojump

# 然后编辑 zsh的配置文件
vim ~/.zshrc
# 找到 `plugins` .默认应该是 plugins=(git) 改为
plugins=(git autojump)

# 保存,执行文件
source ~/.zshrc
坑1:

有可能这样之后,还是不能使用这个插件,这样的话使用下面这句命令:

echo "source /usr/share/autojump/autojump.zsh" >> ~/.zshrc && source ~/.zshrc'

自动补全 zsh-autosuggestions

这是个神器,也是坑好多的地方!

他会记录你以前用过的命令,并且会给出相应的提示,像下图的浅灰色字体就是自动的提示,按下右箭头就可以把这一串路径打完,节省了很多时间
在这里插入图片描述

# 先安装,按照文档的来是这样的
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# 然后也是改配置文件,把这个插件添加进去
vim ~/.zshrc

# 找到 `plugins` .默认应该是 plugins=(git) 改为
plugins=(git autojump zsh-autosuggestions)

# 保存,执行文件
source ~/.zshrc

如果运行没输出(报错),那恭喜你成功了。

坑1:如果提示说某个文件找不到:

/home/jio/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh:source:1: 没有那文件或者目录/home/jio/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh^M

可是这个文件的确是存在的,那就是因为git的换行符的问题!
因为window上的换行符和linux的不太一样,所以才会导致这个问题

解决也很简单(jio是我本地电脑的名称,你们根据自己的报错来修改):

vim /home/jio/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh
# 打开编辑器后
`esc` 输入 `:set ff=unix` 。然后保存退出。这样就能修改文件的换行格式了
# 再次执行。应该就可以成功了
source ~/.zshrc

命令语法高亮 zsh-syntax-highlighting

# 安装一样很简单
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# 然后也是改配置文件,把这个插件添加进去
vim ~/.zshrc

# 找到 `plugins` .默认应该是 plugins=(git) 改为
plugins=(git autojump zsh-autosuggestions zsh-syntax-highlighting)

# 保存,执行文件
source ~/.zshrc
坑的地方。估计也是报文件找不到~

解决方式我就不多写一次了,详细可以看上面的 zsh-autosuggestions 的坑。通常看到结尾是 ^M的报错,都是因为文件格式的问题,影响了换行符

这里还隐藏一个更大的问题。如果关闭终端重新打开会有几行报错,那仔细看完下面的在进行操作!!!

关闭终端,重新打开。然后还是看到这个插件提示有几个文件执行到 20多 30行的时候执行有误 ^M。emmm…报错都解决了就没得贴图了。这时候不要急着改!!因为一开始报错只是报了2个文件,如果你只把2个文件的格式改了,那会引发后面好多文件的报错,到时候终端直接都运行不了。

这时候因为插件的文件实在太多,那我们只能通过脚本来实现批量吧 CRLF 转换为 LF 的格式。

这里的脚本是直接写到了指定的目录去了。和上面说的其实一个道理。你们也是改成对应的你们自己的文件路径

#!/bin/bash
for file in `find /home/jio/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/`
do
vi +':w ++ff=unix' +':q' ${file}
done
如果你不幸,终端一直报错

那其实还可以用vscode,修改一下默认终端,找到其他类型的终端操作完在切换回来


ubuntu 安装 zch 和插件就完成了,其实最多的坑还是下载下来的插件的换行符的问题。

发布了71 篇原创文章 · 获赞 58 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/Jioho_chen/article/details/103330753