ubuntu 安装 zsh、ohmyzsh并配置必要插件

下述记录是完成全部操作后回忆记录得来,或有不准确。我只记录安装中确实用到的指令,参考资料中有扩展内容,记录如下:
ubuntu使用zsh终端并安装nerd font字体——nerd font字体不太好安装,使用fonts-powerline替代。
Ubuntu 下 Oh My Zsh 的最佳实践「安装及配置」——资料还行,不要下 autojump、fasd,nerdfont 的github地址删除了不用下,其他都要。.zshrc文件也跟着它来配置即可。
Ubuntu版本安装zsh、配置ohmyzsh及插件、主题更换——提到可以直接apt install 插件,没试过,看步骤和直接上 github 下载安装包放到对应目录的复杂程度差不多。

1、安装zsh

1.1 下载

sudo apt-get update && sudo apt-get install zsh

1.2 为当前用户设置 zsh 为默认终端

sudo chsh -s /usr/bin/zsh
# 下面的指令据说也可以,我没试过,有点好奇,记录下
sudo usermod -s /usr/bin/zsh ${whoami}

1.2.1 遇到问题 chsh: PAM: Authentication failure,参照 参考资料,解决方案如下

sudo vim /etc/pam.d/chsh 
# 修改内容如下
# auth       required   pam_shells.so
auth       sufficient   pam_shells.so

1.2.2 有的资料将 sudo chsh -s /usr/bin/zsh 写成了 sudo chsh -s bin/zsh ,可能是配置方式不同的原因,我配成后者也会报错。如果出问题,记得检查这条指令,并在命令行输入 which zsh 确定系统中 zsh 的位置。

1.2.3 设置 zsh 为默认终端,reboot 才会生效。

1.3 过程中不可避免要用到的指令

# 临时切换zsh、bash
zsh
bash
echo $SHELL # 查看当前shell
cat /etc/shells # 查看系统已安装的shell

2、安装ohmyzsh及其他插件

这些文件我最初看到都要在 github 下载,我的电脑直接命令行 git clone 不稳定,都是打开网页下载压缩包处理。附加资料中说 zsh-autosuggestions 、zsh-syntax-highlighting 可以直接 apt install,可以试试看。参考资料完整,不做过多记录。

2.1 安装 ohmyzsh 过程的问题

直接执行 ./install.sh 文件会报错"Error: git clone of oh-my-zsh repo failed",参照 参考资料,问题是网络不稳定没法git clone,直接把下载的 ohmyzsh 文件夹复制到生成的 .oh-my-zsh 中即可。顺带补充一句,在 ubuntu 文件系统界面,键盘输入 Ctrl + H 可看到点开头的文件。

mark

2.2 安装插件:zsh-autosuggestions 、zsh-syntax-highlighting、Powerlevel9k,过程略。执行完还需下载字体适配,不然命令行有乱码,字体适配要 reboot 生效。

sudo apt-get install fonts-powerline 

插件是灵魂,没有他们 zsh 无法发挥自己的实力!!!安装插件后会自动建议可能的指令,对历史指令也会自动补全,很值得花时间配置一下。以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/184121.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「Verilog学习笔记」使用子模块实现三输入数的大小比较

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 题目要求编写子模块实现两个输入数的大小比较并输出较小值,可以使用if-else语句实现。同时要求在主模块中实现三个输入数值的大小比较,假设三个…

RDS for Mysql 到云数据库GaussDB

前言 该实验旨在指导用户使用DRS将RDS MySQL上的数据迁移到 GaussDB中。 本实验涉及数据复制服务DRS(Data Replication Service)、关系型数据库服务RDS(Relational Database Service)、GaussDB、数据管理服务DAS(Data…

LeetCode.6 N字形变换

一开始想的是真的创建一个数组 去按照题目所给的要求填入数据 最后输出不为空的数组项 但是不仅时间复杂度高 而且错误频繁出现 最终也没有提交成功 查阅题解后发现数组并不重要 假设我们忽略掉数组中的那些空白项 最终输出的结果就是numRows行的字符串的拼接 string conver…

MobaXterm配置SSHTunnel

本地与远程服务器之间存在防火墙,防火墙只允许SSH端口通过,为访问远程服务器,我们可以借助MobaXterm来与SSH服务器建立隧道,使得防火墙外的用户能够访问远程服务器 配置 打开SSHTunnel 新建SSH tunnel 点击开启就生效了&…

webgoat-Request Forgeries 请求伪造

(A8:2013) Request Forgeries Cross-Site Request Forgeries 跨站请求伪造,又称一键攻击或会话骑乘,简称CSRF (有时发音为 sea-surf)或 XSRF,是一种恶意利用网站,其中传输未经授权的命令 来自网站信任的用…

能源监测管理系统有哪些作用与效果?

随着全球能源的不断增加,能源的有限性与环境问题日益严重,用能管理企业需要一种高效的方法来管理能源与利用能源,因此能源监测管理系统成为了一种不可或缺的工具。 能源监测管理系统的重要性 1、实现节能减排的目标 通过系统,可…

apollo docker搭建

1 mysql搭建 先需要一个mysql,mysql我使用的是5.7,搭建过程忽略 2 数据导入 我们需要从github上下载apolloportaldb.sql, apolloconfigdb.sql 2个sql 随后cp apolloconfigdb.sql apolloconfigdbUat.sql cp apolloconfigdb.sql apolloconfigdbDev.sq…

实现dialog在页面随意拖拽

实现dialog在页面随意拖拽 1.先建一个文件如图所示: 文件名:dialog-directive.js 文件内容: import Vue from vue // v-dialogDrag: 弹窗拖拽Vue.directive(dialogDrag, {bind(el, binding, vnode, oldVnode) {// 获取拖拽内容的头部const dialogHeade…

图论——并查集

参考内容: 图论——并查集(详细版) 并查集(Disjoint-set)是一种精巧的树形数据结构,它主要用于处理一些不相交集合的合并及查询问题。一些常见用途,比如求联通子图、求最小生成树的 Kruskal 算法和求最近公共祖先&…

freeswich学习

写在前面 因为所在部分主要负责公司客服业务,需要了解freeswich相关内容,所以这里将学习内容记录下。 1:安装freesswich freeswich是一个实现了软交换协议的开源软件,可以对对接运营上的通话线路,实现拨打电话。 安…

WebGL主要接口功能

WebGL(Web Graphics Library)提供了一组用于在Web浏览器中呈现3D和2D图形的接口类型和功能。下面是一些主要的WebGL接口类型和它们的功能,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交…

HTML和CSS入门学习

目录 一.HTML 二.CSS 1.CSS作用:美化页面 2.CSS语法 【1】CSS语法规范 【2】如何插入样式表 3.CSS选择器 4.CSS设置样式属性--设置html各种标签的属性 【1】文本属性--设置整段文字的样式 【2】字体属性--设置单个字的样式 【3】链接属性--设置链接的样式…

docker部署mysql nginx redis

一.创建网络 # 创建网络 docker network create liming # 查看网络 docker network ls二.部署mysql 删除并重新创建mysql容器,并完成本地目录挂载: 挂载/software/mysql/data到容器内的/var/lib/mysql目录挂载/software/mysql/init到容器内的/docker-…

Ubuntu LTS 坚持 10 年更新不动摇

导读Linux 内核开发者 Jonathan Corbet 此前在欧洲开源峰会上宣布,LTS 内核的支持时间将从六年缩短至两年,原因在于缺乏使用和缺乏支持。稳定版内核维护者 Greg Kroah-Hartman 也表示 “没人用 LTS 内核”。 近日,Ubuntu 开发商 Canonical 发…

关于卷积神经网络中如何计算卷积核大小(kernels)

首先需要说明的一点是,虽然卷积层得名于卷积( convolution )运算,但我们通常在卷积层中使用更加直观的计算方式,叫做互相关( cross-correlation )运算。 也就是说,其实我们现在在这里…

conda环境下version libcublasLt.so.11 not defined问题解决

1 问题描述 运行模型训练&#xff0c;错误信息如下&#xff1a; Traceback (most recent call last):File "/opt/Bert-VITS2/./text/chinese_bert.py", line 3, in <module>import torchFile "/root/anaconda3/envs/vits/lib/python3.9/site-packages/t…

参与 Ai 诈骗高发活动

今年以来&#xff0c; AIGC在聊天、写作、绘画、编程等领域展现了巨大的潜力&#xff0c;却也由此催生出利用“AI换脸”、“AI换声”来实施诈骗的安全隐患。你认为AI诈骗应该如何防范&#xff0c;来说说你的看法吧&#xff01; 看到这个论题&#xff0c;菜鸟只能说&#xff0c…

取消elementUI中table的选中状态和勾选状态赋值

一、取消所有选中 1、表格上绑定ref 2、清空用户选中数据 this.$refs.loopRef.clearSelection()二、勾选状态赋值 获取数据&#xff0c;flag为true则是选中状态&#xff0c;并将前面勾选框设为选中状态 this.listData.forEach(item> {if(row.flag1){this.$refs.loopRef.to…

【2021研电赛】集装箱编码识别器

本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力&#xff0c;更有重磅电子产品免费领取! 团队介绍 队伍名称&#xff1a;hello world-Dream 队长&#xff1a;小星 队员&#xff1a;晓晓&#xff0c;海象 作品简介 本作品基于卷积神经网络设计出一款集装箱编码识…

进程控制2——进程等待

在上一小节中我们介绍了进程的创建&#xff08;fork&#xff09;与退出&#xff08;main函数的return与exit函数&#xff09; 并且要有一个意识&#xff0c;进程退出的时候只有三种情况&#xff1a; 1.进程退出&#xff0c;结果正确 2.进程退出&#xff0c;结果不正确 3.运行异…