这个事情还是要从我看到后面chen哥的电脑说起,总而言之,我在chen哥那发现了好用的插件,那么我们当然也要搞来耍耍啊。然后就这么突然,我按照chen哥给的方法,踩坑无数啊,然后昨天晚上还没搞成它的样子。今天早晨一来,我就一怒之下给它卸载了,然后重新安装的我一路顺畅emmm,没有吐槽chen哥的意思,chen哥超牛的。重点在于我发现了chen哥用的自己电脑人家mac系统,我个deepin当然踩坑无数啊,至于为啥成功?那当然是看了deepin安装的各位大神哥哥留下来的教程啊。
各位看客别走啊,重点来了!!
系统 | Deepin 20 Beta |
---|
1.安装及配置git
装zsh之前需要先装一下git,deepin下载安装git只需要一个指令
$sudo apt install git
验证一下是不是完成安装
$git --version
Git的更新提交是以email为标识的,所以必须要配置email,name为可选项,推荐也配置上
方便协同开发人员识别优先级:本地配置(local) > 全局配置(global)
全局配置(global)
# 配置
$git config --global user.name xxxxx
$git config --global user.email xxxxx@xxx.com
#验证
$git config --global user.name
xxxxx
$git config --global user.email
xxxxx@xxx.com
本地配置(local)
# 配置
$git config --local user.name xxxxx
$git config --local user.email xxxxx@xxx.com
#验证
$git config --local user.name
xxxxx
$git config --local user.email
xxxxx@xxx.com
使用过程中,可能需要做一些信息的调整,在修改时可能会出现报错
warning: user.name has multiple values error: cannot overwrite multiple values with a single value Use a regexp, --add or --replace-all to change user.name.
按照提示语法进行修改
$git config --global --replace-all user.name "你的名称"
$git config --global --replace-all user.email "你的邮箱"
# 查看修改后信息列表
$git config --list
配置秘钥
将生成的.ssh/id_rsa.pub里面的公钥,复制到SSH Keys,添加Add key就ok了
这样使用SSH公钥可以让通讯的时候使用安全连接
$ssh-keygen -t rsa -C "xxxx@xx.com"
2.安装字体库
在安装zsh和oh-my-zsh之前先来验证一下自己电脑上是否有powerline font字体,因为在安装好oh-my-zsh后可能需要这种特殊字体等的支持,为了让后面流程顺利那么先来验一下叭
就比如某个主题会使用到这些特殊的字符,使用下面语句检测是否存在该主题需要的特殊字符
$echo "\ue0b0 \u00b1 \ue0a0 \u27a6 \u2718 \u26a1 \u2699"
真正的输出结果
如果结果不对那么就要安装该字体库
$sudo apt-get install fonts-powerline
3.安装zsh
$sudo apt install zsh curl
4.安装oh-my-zsh
一共三种,推荐第一种,因为第一种安装完就能看到效果,第一种方式安装的则默认bash就是zsh,其他方式需要替换:chsh -s /bin/zsh
oh-my-zsh 官网
下载oh-my-zsh
### 第一种
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
### 第二种
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
### 第三种
wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
切换默认shell
在切换前先查一下当前shell
echo $SHELL
如果是bash,那么第一种安装方式默认提示切换,无需执行此命令,其余两种方式需要进行切换
chsh -s /bin/zsh
对oh-my-zsh目录进行完全授权
如不授权,其他账户安装插件/使用主题,会报日志错误
chmod -R 777 .oh-my-zsh
到这基本上就已经完成了zsh的安装,接下来就是一些比较个性化的配置
个性化配置zsh
配置zsh主要是配置.zshrc文件
vim ~/.zshrc
跳过不安全目录的验证
如下指令放在配置文件最前面
ZSH_DISABLE_COMPFIX="true"
即可以放在
#Path to your oh-my-zsh installation
export ZSH="/home/nangy/.oh-my-zsh"
前的位置
配置主题
可以看一下有什么主题
ls ~/.oh-my-zsh/themes
想要更改成自己想要的主题,就修改~/.zshrc
中的ZSH_THEME
我这里选的是
这里我是在agnoster主题的基础上进行了修改,我在前面增加了主机名,所以在原来基础上增加了my以示区分,这个具体下面说
配置插件
有了插件的加持,才能体现zsh的作用打开~/.zshrc文件找到plugins=( git ),想要启用某个插件,装好之后直接修改plugins里的内容。
除此之外,强调一下alias(别名),利用好alias把自己装过的插件,组装一下,写一些自己常用的命令,可以极大的提升自己的效率。
这是我添加的插件
接下来就说一下我安装的插件,注意一点安装要进到你安装的oh-my-zsh的custom的plugins下
我这里的cd ~/.oh-my-zsh/custom/plugins
git
这个是装好oh-my-zsh就默认已经开启的
查看所有的git命令alias
~/.oh-my-zsh/plugins/git/git.plugin.zsh
zsh-autosuggestions
zsh-autosuggestions官网
非常好用的一个插件,会记录你之前输入过的所有命令,并且自动匹配你可能想要输入命令,然后按→补全
安装
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting
zsh-syntax-highlighting的官网
命令太多,有时候记不住,等输入完了才知道命令输错了,这个插件直接在输入过程中就会提示你,当前命令是否正确,错误红色,正确绿色
安装
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
除此之外自带的有
z
这个是oh-my-zsh默认就装好的,需要自己开启。还有一个autojump的插件和z功能差不多,autojump需要单独装,
如果z插件历史记录太多,并且有一些不是自己想要的,可以删除
z -x 不要的路径
sublime
又是一个自带的插件,同样需要自己开启,针对喜欢用sublime的小伙伴
如果想要用sublime打开一个文件
st 文件路径
使.zshrc文件生效
$ source ~/.zshrc
如果还不生效可以考虑再打开一个终端或重启电脑
补充
查看shell
查看当前使用shell
echo $SHELL
查看系统中安装了哪些shell
cat /etc/shells
oh-my-zsh提示符显示当前用户名和主机名
- 复制当前的
agnoster.zsh-theme
主题,新名称myagnoster.zsh-theme
sudo cp $ZSH/themes/agnoster.zsh-theme $ZSH/themes/myagnoster.zsh-theme
- 编辑
$ZSH/themes/myagnoster.zsh-theme
sudo nano $ZSH/themes/myagnoster.zsh-theme
把prompt_context{}部分从
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m"
fi
}
改为
prompt_context() {
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
}
如果要显示主机名就改为
prompt_context() {
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER%m"
}
- 修改
~/.zshrc
即ZSH_THEME="myagnoster"
- 生效
source ~/.zshrc
升级.oh-my-zsh
更新时候出现如下报错,这是因为修改了oh-my-zsh的git文件
可以用以下方式更新
$ cd ~/.oh-my-zsh
$ git status
$ git stash
$ upgrade_oh_my_zsh
$ git stash pop
将原来bash中的环境变量(/.bashrc)添加到/.zshrc中!!不然就报错
zsh的卸载(微笑脸)
sudo apt autoremove zsh
补充参考的各位大佬的链接
大佬1号关于安装zsh的文章
大佬2号关于oh-my-zsh提示符显示当前用户名和主机名
的文章
大佬3号转载的别的大佬的关于oh-my-zsh的卸载的文章
大佬4号关于安装zsh及配置的文章
大佬5号关于oh-my-zsh常用插件的文章