Fish shell

简介

fish 可以根据输入自动匹配历史命令。它的一大特点是开箱即用,没有zsh那些繁琐的配置。官网:http://www.fishshell.com/。

安装与配置

在终端里使用Homebrew安装,直接输入 brew install fish 等待安装完成即可。安装完了以后还不能用,因为没把fish添加到 mac 的 shell 列表里,切换到 fish shell 时显示找不到fish shell,所以我们要先添加 fish 并设置一下 shell 。首先,用 shell 命令sudo vim /etc/shells在 vim 中打开 Mac 的 shell 列表,执行结果如下:

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells. /bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

i键,进入插入模式,然后在列表末尾加上/usr/local/bin/fish。最后文件内容如下:

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells. /bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish

最后,按 esc 键跳到命令模式,输入:wq 命令保存文件并退出vim。当前模式还是 bash shell 模式,要切换到 fish shell 需要输入 fish 命令。每次都输入命令切换 shell 比较繁琐,我们可以通过如下命令从 bash 切换到 fish :

chsh -s /usr/local/bin/fish

也可以通过如下命令切回到 bash:

chsh -s /bin/bash

常用快捷键

  1. 自动建议

    Fish 会自动在光标后面给出建议,颜色为灰色。按下Control + F表示采纳建议,按下Alt + →表示只采纳一部分。
  2. Tab 键补全

    按下 Tab 键,Fish 将尝试自动补全命令、参数或路径,如果有多条补全建议,可以继续使用 Tab 键在不同建议间切换。

其他

因为博主并不是天天跟命令行打交道,shell 也根本不会,只是在学习和工作中偶尔会用到命令行,敲几行命令执行一些操作,所以这篇文章只是简单的介绍 Fish shell,作为一个学习的记录,想深入了解的可以访问官网

有了 Homebrew + iTerm 2 + Fish shell,对命令行有畏惧和抵触情绪的「终端恐惧症患者」再也不用头疼了。关于 Homebrew 和 iTerm 2 的介绍请看我的另外两篇文章:Mac开发必备工具(一)—— HomebrewMac开发必备工具(二)—— iTerm 2

参考资料

fish tutorial


同系列文章

Mac开发必备工具(一)—— Homebrew

Mac开发必备工具(二)—— iTerm 2

Mac开发必备工具(三)—— Fish shell


本文作者: Sheh伟伟

本文链接: http://davidsheh.github.io/2017/08/28/mac-fishshell/

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

Mac开发必备工具(三)—— Fish shell的更多相关文章

  1. Mac开发必备工具(二)—— iTerm 2

    iTerm 2 简介 iTerm 2 is a terminal emulator for Mac OS X that does amazing things. iTerm 2 有很多能够提升效率的实 ...

  2. Mac开发必备工具(一)—— Homebrew

    Homebrew 简介 macOS 缺失的软件包管理器.使用 Homebrew 安装 Apple 没有预装但 你需要的东西.官网有中文说明. 安装与配置 Homebrew 的安装非常简单,将下面这条命 ...

  3. Web前端开发必备工具推荐

    http://gaohaixian.blog.163.com/blog/static/12326010520114265223489/不管你做前端开发还是网页重构,前端工具都起着非常重要的作用,这里向 ...

  4. 敏捷开发--必备工具Jira&Confluence学习视频

    敏捷开发必备工具:Jira+confluence,完美组合. 入门培训视频,内含Jira, Confluence, BigGantt, Zephyr, Tempo, Question, ScriptR ...

  5. Java开发必备工具 ------------工欲善其事,必先利其器

    java企业级开发基本工具 一.开发必备工具 1.Java开发环境 JDK (官网下载即可,需要注册账户) JRE 2.Java企业编码开发工具 IntelliJ IDEA(建议使用Idea,插件使用 ...

  6. ASP.NET Core MVC 入门到精通 - 1. 开发必备工具 (2021)

    环境: .NET 5 ASP.NET Core MVC 1. .NET 5 作为一个资深.NET工程师,说句实话,.NET没落了,在国内更加的没落.之前做过8年node.js/前端,现如今又转回了.N ...

  7. mac 开发必备软件(不断update ing...)

    整理下mac环境下, 开发必备的一些软件吧, 由于不断要更新ing, 用到啥就写啥~球轻拍 1.host 绑定切换神器 a.gas mask : 只能切换单个自定义的host文件 b.ihosts(推 ...

  8. xamarin开发的mac开发小工具集合

    兄弟们我拖控件拖到了mac系统去了, 工具上传到百度网盘,下载地址 链接:https://pan.baidu.com/s/1Q64zoRjE3u66jJnzF8rhww提取码:ljx2 这款工具我是用 ...

  9. 介绍.NET 开发必备工具 .NET Portability Analyzer

    随着.NET的原来越开放,不仅仅是开源这么简单了,也意味着.NET程序员要关注越来越多的平台,涵盖.NET Mic Framework, Xamarin,Mono,.NET等等,从windows到li ...

随机推荐

  1. eclipse导入svn检出的maven项目问题

    1.修改项目jdk环境和编译环境.消除红叉. 2.windows-preferences-java-installed jres,修改工作空间的jdk,在Default vm arguments栏中添 ...

  2. bzoj2748 [HAOI2012]音量调节 背包

    Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改 ...

  3. Codeforces 271D - Good Substrings [字典树]

    传送门 D. Good Substrings time limit per test 2 seconds memory limit per test 512 megabytes input stand ...

  4. jQuery on() 和 live

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  5. Activity 切换动画

    1,在AndroidManifest.xml中的Activity的声明上加入android:theme="@style/Anim_fade" <activity androi ...

  6. word2013 交叉引用添加参考文献的尾注编号,通过查找 ^# 替换为 [^&] 的方式添加中括号,在进行“更新域”操作后,中括号消失。

    word2013 交叉引用添加的尾注编号,通过查找 ^# 替换为 [^&] 的方式添加中括号,用这个方法添加中括号很多次了,这次却出现问题:在进行“更新域”操作后,中括号消失.       详 ...

  7. DFS与BFS对比

    前面已经说过了深搜和广搜了,是不是有点还不是很好的分清他们?(其实分不分的请都没大有关系) 下面我们来看一看广搜与深搜的区别吧. 算法步骤上的区别 深度优先遍历图算法步骤: 1.访问顶点v 2,.依次 ...

  8. react 起手式

    http://blog.csdn.net/zhouzhiande/article/details/52349344 http://blog.csdn.net/zhouzhiande/article/d ...

  9. influxdb的python操作

    1.先安装依赖:pip install influxdb 2.

  10. 基于Lua插件化的Pcap流量监听代理

    1.前言 我们在实际工作中,遇到了一个这样的用例,在每天例行扫描活动中,发现有些应用系统不定期的被扫挂,因为我们不是服务的制造者,没有办法在不同的系统里打印日志,所以我们就想用一个工具来获取特定服务的 ...