文章目录

  • zsh
    • 基础配置
    • 实用特性
    • 插件`autojump`
    • 语法高亮
    • 自动补全
  • fish
    • 优点
    • 缺点

时效性
本篇撰写时间为2021.12.15,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法不一定总行得通,链接可能改动失效,各种软件的用法可能有修改。但是其中透露的思想往往是值得学习的。
本篇前置:

  • ExpRe[10] Ubuntu[2] 准备神秘软件、备份恢复软件
    https://www.cnblogs.com/minor-second/p/15578767.html

zsh

我们安装除了bash之外的shell,便于使用自动补全,语法高亮等一系列功能,提升工作效率
apt install zsh
时效性:版本zsh 5.4.2 (x86_64-ubuntu-linux-gnu)
zshbash可以在两者之间切换
(当然Ctrl + D也可以退出一层)
安装路径在/bin/zsh

基础配置

  • 安装oh-my-zsh

Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.

需要先确认能正常连接raw.githubusercontent.com
截至2021.12.15需要神秘
curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
看脚本是否能正常下载。并检查脚本是否正常。然后
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

  • 设置默认shell为zsh
    chsh -s /bin/zsh
    注:这里chsh是不是让你想到chmod
  • vim ~/.bashrc,再vim ~/.zshrc,检查一些需要的configure是否需要复制过去
    比如环境变量,conda相关,alias,等等。
    例如conda initialize那些代码如果不在~/.zshrc里,就无法在zsh使用conda命令。
  • 复制该复制的,然后进入zsh(不能留在bash),并. ~/.zshrc进行更新

实用特性

  • 忽略大小写。比如路径下有a文件夹,输入A,再按Tab可以自动更正
  • 执行了错误的命令(或Ctrl + C终止了),左侧箭头会变色
  • cd,空格,敲两下Tab,然后方向键,有惊喜

    (按回车选中)

    • 当然直接cd后不加空格,敲两下Tab,然后方向键,也能做选择。
  • 输入kill <进程名>Tab,自动找到PID
  • d,回车,数字,回车,跳转到历史访问过的目录

插件autojump

apt install autojump
当前版本v22.5.0
然后在这里插件列表加上autojump

保存退出更新. ~/.zshrc
尝试其用法(注意:要访问过,让它记住一遍,之后才能快捷跳转到)


  • 比如这里,j 86回车,就跳转到

    总之就是输入关键词即可

    • j <关键词1> <关键词2>等等,可以输入多个关键词
  • 比如j mi再按Tab,则其会做一个排序,列举出所有匹配的
  • j --stat查看统计。j -h查看帮助
  • jc限定在子目录

语法高亮

https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md
(本次用的是作为oh-my-zsh插件的安装方式)
时效性:当前版本0.6.0-1

  • git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • ~/.zshrc,然后把zsh-syntax-highlighting加到插件列表最后(这个必须在最后,具体原因参见官网)
  • 重启zsh(官网指示如此,其实按道理应该是更新~/.zshrc即可)

语法高亮已经可以使用

自动补全

时效性:当前版本v0.7.0
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
然后去~/.zshrc加上插件名zsh-autosuggestions(但注意不能在zsh-syntax-highlighting的后面),保存退出更新
(跟刚刚完全是类似的,只是要特别注意顺序)
自动补全已经可以使用,比如输入ex,自动出现
此时按Ctrl + F或者方向键右键都可以直接输入该命令

fish

Extensive UI: Syntax highlighting, Autosuggestions, tab completion and selection lists that can be navigated and filtered.
No configuration needed: fish is designed to be ready to use immediately, without requiring extensive configuration.
Easy scripting: New functions can be added on the fly. The syntax is easy to learn and use.

自动补全,代码高亮,提升工作效率,还无需像zsh一样配置!
时效性:版本3.3.1
apt install fish
直接fish即可开始使用
很多操作和zsh有共同点(比如如何设置为默认,自动补全……等),不再赘述

优点




自动补全,语法高亮,Tab等功能都有,且不用配置。

缺点

截至2021.12.15
不支持POSIX标准。有些东西和bash有差别
比如复制别人命令不一定能运行

中文可能会乱码

ExpRe[25] bash外的其它shell:zsh和fish相关推荐

  1. Zsh vs. Bash不完全对比解析,zsh是一种更强大的被成为“终极”的Shell

    https://www.zhihu.com/question/21418449 Mort | Zsh vs. Bash:不完全对比解析(1) 2014-10-07  bdpqlxz Zsh和Bash, ...

  2. linux shell zsh,Linux终极shell Z Shell 用强大的zsh oh-my-zsh把Bash换掉

    Bash确实是不错的Shell,但仍有用不少不尽人意的地方,如自动补全的功能不够强大,定位较长路径不够方便,命令历史管理不够完善等.javascript 介绍使用zsh,功能十分强大-推荐给你们!ja ...

  3. MACOS Terminal终端:更改zsh模式到bash模式(切换shell)

    MACOS Terminal终端:更改zsh模式到bash模式(切换shell) 一.GUI界面切换: preferences- -> shell open with: -> Comman ...

  4. bash上的mysql在zsh用不了_Zsh和Bash的兼容性问题

    兼容 Zsh在大部分时候是兼容Bash, 是的"大部分时候" 如果你要强求的话,可以在Zsh里执行下面命令 emulate bash 数组 如果在loop里使用了数组,那么脚本在B ...

  5. Shell: sh,bash,csh,tcsh等shell的区别

    转载自:http://zhidao.baidu.com/question/493376840.html, http://blog.sina.com.cn/s/blog_71261a2d0100wmbj ...

  6. linux重定向stderr,在Bash和其他Linux Shell中将stderr重定向到stdout的方法

    本文介绍重定向输出及在Bash和其他Linux Shell中将stderr重定向到stdout的方法. 前言 将命令的输出重定向到文件或将其通过管道传递到另一个命令时,您可能会注意到错误消息被打印在屏 ...

  7. zsh 和 fish 安装与使用

    Ubuntu Oh My Zsh and fish 俗话说 工欲善其事,必先利其器. 在Ubuntu下面用的最多的就是Terminal 和 Vim了. Ubuntu 默认的Shell 为bash,效率 ...

  8. shell zsh bash ash tcsh的差别和关系

    shell是一个抽象概念,shell的一切操作都在计算机内部,负责处理人机交互,执行脚本等,是操作系统能正常运行的重要组成部分 bash,ash,zsh,tcsh等是shell这个抽象概念的一种具体的 ...

  9. 终极 Shell——ZSH

    Shell是Linux/Unix的一个外壳,你理解成衣服也行.它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后 ...

最新文章

  1. 计算机专业口号16字,计算机专业16口号
  2. Linux的命令行界面简介
  3. python 时间格式 工作日_python使用time、datetime返回工作日列表实例代码
  4. oracle中字符串的脚本表示什么意思,sql脚本中rem与prompt,define等的含义
  5. 如何在 ASP.Net Core 中使用 SignalR
  6. 涂鸦智能dubbo-go亿级流量的实践与探索
  7. android 信号检测,卫星、手机信号都能测!安卓神器你值得拥有
  8. 遥感资源大放送(下)| 11 个经典遥感数据集
  9. 最小二乘法求回归直线方程的详细推导过程
  10. docker容器满了,如何清理内存
  11. 【面试】--【集合容器】
  12. 为河南小伙恩辉舍己救人点赞<原创>
  13. Java学习之定义一个Circle类并测试所有方法
  14. 【北邮国院大三上】大三上高编/互联网协议/电信系统笔记
  15. IDEA 配置 JDK 源码
  16. 总结证书CT:证书透明度
  17. 关闭iphone来电mac_如何在Mac和iPhone上关闭通用剪贴板切换(以及为什么要禁用此功能)
  18. 国外小项目,简单小项目赚美金,1个任务10秒,让你轻松赚美金,2022副业轻松赚钱
  19. ImageMagick将多张图片拼接成一张图片_长图拼接app下载-长图拼接最新版下载v2.8.6...
  20. 游戏里的打折促销和低廉价格

热门文章

  1. 2022 年第十二届 MathorCup 高校数学建模挑战赛D题思路(移动通信网络站址规划和区域聚类问题)
  2. 虚拟机net模式设置固定ip
  3. JavaScript window对象常用方法
  4. VCS自动连接NOVAS文件(SV enhance)
  5. 单片机最小系统的通俗易懂讲解
  6. Cocos Store 插件升级,支持联网功能扩展和微信小游戏适配
  7. 火云开发课堂 - 《Shader从入门到精通》系列 第八节:在Shader中实现黑白滤镜
  8. 宝塔安装python
  9. 因子择时的三个标尺:因子量因子离散度与因子挤
  10. 微信小程序表单提交没反应时应该检查focus或autofocus属性