ubuntu安装zsh、oh-my-zsh及常用配置

ubuntu安装zsh、oh-my-zsh及常用配置

目前,ubuntu默认的shell是bash,但还有一种shell,叫做zsh它比bash更加强大,功能也更加完善,zsh虽说功能强大,但是配置比较复杂导致流行度不是很高

但是好东西终究是好东西,开源界的大佬们是不会让明珠蒙尘,我等伸手党也是可以直接搭顺风车的,感谢robbyrussell大佬的开源项目 oh-my-zsh 吧,从此使用zsh也就几行命令的事情

oh-my-zsh项目目前有80k+star,贡献者超过1300,并且提供了200多个可选插件(rails,git,OSX,hub,capistrano,brew,ant,php,python等),以及超过140个主题供你选择,安装后你将享受以下特性:

  • 首先兼容bash
  • 自动cd:只需输入目录的名称即可
  • 命令选项补齐,比如输入git,然后按Tab,即可显示出git都有哪些命令
  • 目录一次性补全:比如输入Doc/docTab键会自动变成Documents/document/
  • 插件和主题支持(插件能进一步提升效率)

安装zsh并设为默认

安装:

sudo apt install zsh

设为默认shell(不要加 sudo):

chsh -s /bin/zsh

重启并查看:

echo $SHELL

若输出 /bin/zsh 表示配置成功。

常用配置(个人)

安装oh-my-zsh

# curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"# wegt 
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

选择oh-my-zsh主题

oh-my-zsh的主题非常丰富,可以用如下命令查看已有主题:

ls .oh-my-zsh/themes

默认是:robbyrussell,也很不错,大家可以去网上搜一搜主题推荐,选择自己喜欢的。

选定之后取 ~/.zshrc 中修改主题设置即可:

vim ~/.zshrc
# 修改 ZSH_THEME="YOUR_THEME" 并保存退出
source ~/.zshrc

这里还有个骚操作,我们可以设置:ZSH_THEME="random",这样每次打开 zsh 会随机加载一个主题,并提示其名称,如:

[oh-my-zsh] Random theme 'wezm+' loaded

可以说是选择困难症患者福音,我们可以前期先用 random 体验,找到自己最喜欢的主体后再去设置中确定下来,或者就一直随机,我全都要!

robbyrussell、steeef、bira等

设置zsh为vim键位

我们知道在bash中设置vim键位是:

set -o vi

而在zsh中有所不同,需要再安装了oh-my-zsh以后,plugins那里添加vi-mode,然后在终端执行source一下或者是重启终端就开启vi-mode了:

vim ~/.zshrc
# 添加 plugins vi-mode 并保存退出
# plugins=(
#  git
#  vi-mode
# )
source ~/.zshrc

添加插件

oh-my-zsh支持许多的插件,大家可以去网上搜一下自己喜欢的插件,从 github 安装,并在 ~/.zshrc 中添加到 plugins 即可,添加的过程与添加 vi-mode 类似,不再赘述。

Ref:

https://zhuanlan.zhihu.com/p/62501175

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

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

相关文章

Segmentaion标签的三种表示:poly、mask、rle

Segmentaion标签的三种表示:poly、mask、rle 不同于图像分类这样比较简单直接的计算机视觉任务,图像分割任务(又分为语义分割、实例分割、全景分割)的标签形式稍为复杂。在分割任务中,我们需要在像素级上表达的是一张…

tensorboard报错:ValueError Duplicate plugins for name projector 问题的出现及解决过程

tensorboard报错:ValueError: Duplicate plugins for name projector 问题的出现及解决过程 记录如题问题的出现及解决过程。 报错命令及信息 笔者在终端调用 tensorboard 时: tensorboard --logdirruns/ --bind_all报错: raise ValueEr…

发布自己的Python包(Pypi)

发布自己的Python包(Pypi) 我们经常使用 Pypi 来安装包,但是有时候我们也想要发布自己的 Pypi 包,有可能我们写了一个特别牛的包,也有可能我们只是想使用自己常用的一些轮子,可能这是我们日常编码中很常用的一些轮子,…

Ubuntu PPA 使用指南

Ubuntu PPA 使用指南 转自:https://zhuanlan.zhihu.com/p/55250294 一篇涵盖了在 Ubuntu 和其他 Linux 发行版中使用 PPA 的几乎所有问题的深入的文章。 如果你一直在使用 Ubuntu 或基于 Ubuntu 的其他 Linux 发行版,例如 Linux Mint、Linux Lite、Zorin…

如何在 Linux 中快速地通过 HTTP 提供文件访问服务

如何在 Linux 中快速地通过 HTTP 提供文件访问服务 转自:https://linux.cn/article-10205-1.html 如今,我有很多方法来通过 Web 浏览器为局域网中的其他系统提供单个文件或整个目录的访问。我在我的 Ubuntu 测试机上测试了这些方法,它们如下面…

Linux apt命令

Linux apt命令及其与apt-get的关系 转自:https://blog.csdn.net/taotongning/article/details/82320472、https://www.runoob.com/linux/linux-comm-apt.html apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管…

杨宏宇:腾讯多模态内容理解技术及应用

杨宏宇:腾讯多模态内容理解技术及应用 分享嘉宾:杨宇鸿 腾讯 内容理解高级工程师 编辑整理:吴祺尧 出品平台:DataFunTalk 导读: 搜索内容的理解贯穿了整个搜索系统。我们需要从多个粒度理解搜索内容,包括语…

git登录相关操作梳理

git登录相关操作梳理 本文主要基于 Linux/Mac ,Windows下未经测试,不过估计差不多,在 git bash 内操作即可。 创建ssh key并关联github等账号 因为本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,GitHub需要识别是否是…

关于mmdetection上手的几点说明

关于mmdetection上手的几点说明 官方的文档很有参考价值,并且也有中文版,应当是大家上手 mmdetection 的第一参考,本文是记录一些笔者在小白阶段上手 mmdetection 时的一些心得,这些东西没有人提,可能是大佬们觉得这些…

docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

Docker容器中使用Nvidia GPU报错 docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]]. 问题出现 我们知道,想要在 docker19 及之后的版本中使用 nvidia gpu 已经不需要单独安装 nvidia-docker 了,这…

CUDA环境详解

CUDA环境详解 本文主要介绍 CUDA 环境,这一堆东西网上有很多博客介绍过了,我再来一篇:),参考前辈们的文章,看能不能写的更清楚一点。读后仍有问题,欢迎留言交流。 CUDA APIs CUDA是由NVIDIA推出的通用并行计算架构&…

共享内存简介及docker容器的shm设置与修改

共享内存简介及docker容器的shm设置与修改 共享内存简介 共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存&#xff…

对Docker镜像layer的理解

对Docker镜像layer的理解 转自:https://blog.csdn.net/u011069294/article/details/105583522 FROM python:3.6.1-alpine RUN pip install flask CMD [“python”,“app.py”] COPY app.py /app.py上面是一个Dockerfile的例子,每一行都会生成一个新的l…

ssh免密登录配置方法及配置

ssh免密登录配置方法及配置 直接上步骤,记我们本机为机器A,而机器B、机器C等是我们的服务器,我们要配置的是A到B、C等的 ssh 免密登录。 1 在机器A上生成秘钥对 ssh-keygen会得到输出: Generating public/private rsa key pai…

机器学习系统:设计与实现 计算图

机器学习系统:设计与实现 计算图 转自:https://openmlsys.github.io/chapter_computational_graph/index.html 在上一章节中,我们展示了用户利用机器学习框架所编写的程序。这些用户程序包含了对于训练数据,模型和训练过程的定义。然而为了…

常见浮点数格式梳理

常见浮点数格式梳理 IEEE 754 标准 浮点数转换网站:https://www.h-schmidt.net/FloatConverter/IEEE754.html IEEE二进制浮点数算术标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值&am…

Python拾遗1:collections、itertools和内存io

Python拾遗1:collections、itertools和内存io 转自:https://www.liaoxuefeng.com/wiki/1016959663602400 本系列旨在补充python中一些很好用但是并非常规课程主线中的知识。 collections collections是Python内建的一个集合模块,提供了许…

混合精度训练

混合精度训练 转自:https://zhuanlan.zhihu.com/p/441591808 通常我们训练神经网络模型的时候默认使用的数据类型为单精度FP32。近年来,为了加快训练时间、减少网络训练时候所占用的内存,并且保存训练出来的模型精度持平的条件下&#xff0…

拓扑排序C++

拓扑排序C 几个基本概念的介绍 入度和出度 图中的度:所谓顶点的度(degree),就是指和该顶点相关联的边数。在有向图中,度又分为入度和出度。 入度 (in-degree) :以某顶点为弧头,终止于该顶点的边的数目称为该顶点的…

C++面试常考题——编译内存相关

C面试常考题——编译内存相关 转自:https://leetcode-cn.com/leetbook/read/cpp-interview-highlights/e4ns5g/ C程序编译过程 编译过程分为四个过程:编译(编译预处理、编译、优化),汇编,链接。 编译预处…