引言

笔者已经使用zsh一年多了,发现这个东东的功能太强大了。接下来,给大家推荐一下。

以下是oh-my-zsh部分功能

  • 命令验证
  • 在所有正在运行的shell中共享命令历史记录
  • 拼写纠正
  • 主题提示(Agnoster,RobbyRussell,......)
  • 目录历史
  • 通过zshenv,zprofile,zshrc,zlogin和zlogout启动/关闭脚本
  • 强大的自动完成功能。您可以使用TAB键浏览不同的选项,然后使用enter键选择正确的文件夹。例如Bash会打印所有选项。

  • 添加插件:例如Git插件包含大量有用的Git别名。 此插件显示活动分支并提供有关Git状态的可视反馈:

  • 绿色:如果没有发生变化的分支
  • 黄色:未跟踪文件
  • 带有加号图标的黄色:准备提交的文件

安装指南

我在我的Linux Mint上执行此安装指南。为了向您展示Oh-My-Zsh的基本功能,我将安装Git插件(Git-core)。此插件提供有关项目的Git状态的可视反馈。

  1. 安装必备软件包
$ sudo apt install git-core zsh
  1. 根据官方脚本安装Oh-My-Zsh
# 通过curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
#通过wget
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
  1. 安装Powerline字体以使用图标为CLI增添趣味
$ sudo apt install fonts-powerline
  1. 将主题从'robbyrussell'改为'agnoster'为传奇的Oh-My-Zsh主题
$ vim ~/.zshrc

想要看到修改后的主题结果,执行下面命令

$ source ~/.zshrc

  1. 现在的主题提示信息太长了,我们去掉用户名和主机名

  1. 修改默认shell,这样下次打开Terminal的时候就默认使用zsh而不是bash
$ chsh -s $(which zsh)

安装插件

所有插件都列在Plugins,自定义插件可以安装在〜/.oh-my-zsh/custom/plugins中。要使用插件,只需将其添加到〜/.zshrc文件中的插件列表即可。明智地添加,因为太多的插件会减慢shell的启动速度。插件之间使用空格分割。

colored-man-pages

在这个例子中,我安装了一个有用的插件,为你的手册页提供颜色突出显。

zsh-syntax-highlighting

另一个很棒的插件是shell的语法高亮。除此之外,此插件还能够验证命令的正确性

# 安装
cd /home/shellhub/.oh-my-zsh/custom/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting
# 添加到.zshrc配置文件中的plugins中
vim ~/.zshrc # 例子
plugins=(
git
autojump
colored-man-pages
zsh-syntax-highlighting
zsh-autosuggestions
)

zsh-autosuggestions

您还可以使用zsh-autosuggestions来完成命令。它根据您的命令历史记录建议命令。很有用!要选择建议的命令,请按向右箭头键。

安装方式和zsh-syntax-highlighting一样

$ git clone https://github.com/zsh-users/zsh-autosuggestions

然后添加zsh-syntax-highlighting到插件列表中(vim ~/.zshrc)

autojump

autojump可以实现快速跳转到目标目录,如下所示

然后别忘记添加到~/.zshrc配置文件中

vim ~/.zshrc

关注一下别名

目录历史

Oh-My-Zsh会自动记住您访问过的最后20个目录。您可以使用dirs -v或d来按时间顺序列出历史记录。

您可以使用cd +1转到上一个目录,依此类推,如下图我们还可以直接输入数字进行跳转到对应的目录

其他有趣的别名

/ -> cd /
~ -> cd ~
.. -> cd ..
... -> cd ../..
.... -> cd ../../..

我相信你已经找到规律了吧

take test_folder # 创建一个文件夹并进入这个文件夹,效果和下面类似
mkdir test_folder && cd test_folder
take folder1/folder2/folder3
x # 解压tar, bz2, rar, gz, tbz2, tgz, zip, Z, 7z各种压缩文件

## 更新和卸载

更新

upgrade_oh_my_zsh

卸载

uninstall_oh_my_zsh

更多学习资源

总结

Oh-My-Zsh太爽了

参考文档:
1 https://github.com/shellhub/blog/issues/25

最强Linux shell工具Oh My Zsh 指南的更多相关文章

  1. linux shell工具集合

    1)判断进程是否存在,如果不存在再执行启动命令,可以避免一个脚本同时启动多份 if [ $(ps -ef |grep  bastion_account.sh|grep -v grep|wc -l) - ...

  2. linux shell——zsh的安装与使用

    Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器.常用的Bash就是Shell的一种,也是Linux下默认Shell程序.这里介绍一种更强大的.更人性化的Shel ...

  3. -Shell 命令行工具 Cmder Babun Zsh MD

    目录 目录 Cmder:window 下增强型的 cmd + bash 简介 配置 解决中文乱码问题 添加到右键菜单 添加至环境变量 修改命令提示符号 自定义aliases Readme.md 设置c ...

  4. Linux Shell 文本处理工具集锦 zz

    内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...

  5. Linux Shell 文本处理工具集锦

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...

  6. [转] Linux Shell 文本处理工具集锦

    内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...

  7. Linux Shell 文本处理工具集锦(转载)

    内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...

  8. Linux Shell 文本处理工具集锦【转】

    转自:http://www.cnblogs.com/me115/p/3427319.html 内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq ...

  9. Linux shell文本处理工具

    搞定Linux Shell文本处理工具,看完这篇集锦就够了 Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被Python等脚本代替.既然是基本功,那就需要掌握,毕竟学习She ...

随机推荐

  1. Java内存大家都知道,但你知道要怎么管理Java内存吗?

    前言 深入研究Java内存管理,将增强你对堆如何工作.引用类型和垃圾回收的认识. 你可能会思考,如果你使用Java编程,关于内存如何工作你需要了解哪些哪些信息?Java可以进行自动内存管理,而且有一个 ...

  2. python学习-class对象

    # 面向对象 python,java,c## 面向过程 C # 类和对象# 类 类型类别.类别 物以类聚 一类事物# 班级.人类.动物类.车.学生类.老师类.手机.电脑# 统称 == 共同特性# 不具 ...

  3. django----orm查询优化 MTV与MVC模型 choice参数 ajax serializers

    目录 orm查询优化 only defer select_related 与 prefetch_related MTV 与 MVC 模型 choice参数 Ajax 前端代码 后端代码 前后端传输数据 ...

  4. 在 ASP.NET Core 中使用 Serilog 进行日志记录

    目录 从 NuGet 安装 Serilog 在 Main函数 中配置 Serilog 在项目中使用 Serilog 进行日志输出 从 NuGet 安装 Serilog 核心的包是 Serilog 和 ...

  5. 《Dotnet9》系列-FluentValidation在C# WPF中的应用

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  6. vue中点击屏幕其他区域关闭自定义div弹出框

    直接上代码: mounted: function () { let that = this; $(document).on('click', function (e) { let dom = $('. ...

  7. Blog 须知

    转载 转载需通过博主同意方可 代码格式 博主遵循 \(Google\) 代码格式,代码满足以下规范: 字符数 每行代码必需不超过 80 字符 缩进 缩进不使用制表符,而是 2 个空格缩进 函数 函数左 ...

  8. DC8: Vulnhub Walkthrough

    镜像下载链接: https://www.vulnhub.com/entry/dc-8,367/#download 主机扫描: http://10.10.202.131/?nid=2%27 http:/ ...

  9. 在mpvue引入flyio

    先来说微信小程序原生的请求接口方式吧,如官网文档,在页面中请求直接调用 在这里感谢接的是提供的免费接口https://blog.csdn.net/c__chao/article/details/785 ...

  10. .NET Core和无服务器框架

    无服务器框架是一个云提供商无关的工具包,旨在帮助构建,管理和部署无服务器组件的操作,以实现完整的无服务器架构或不同功能即服务(FaaS).无服务器框架的主要目标是为开发人员提供一个界面,该界面抽象出云 ...