红联Linux门户
Linux帮助

Fish 是一款非常友好的 Shell,大力推荐!

发布时间:2009-07-26 23:48:37来源:红联作者:kevinux
使用命令 sudo apt-get install fish 安装它。完成后,运行命令 fish 切换到 fish, exit 返回 bash。

简单介绍一下它的优点:

1. 自动补全、语法高亮
bash 的自动补全默认只是补全命令、路径,如果想补全变量、参数等,通常需要使用复杂的组合键(见上面 bash 的介绍),即便您能够记住它们,快速准确的按下这些组合键,也是一种严峻的考验。而 FISH 的自动补全可以自动识别语法,补全正确的内容。并且具有语法高亮的功能,比如用 MPLAYER 放 MP3:

mpl(ayer) -l(oop) (0)
-sh(uffle) -pl(aylist)
(mp3_playlist)

一阵猛按 键,一个蛮长的命令就完成了。

补全结果不唯一时给出的提示中含有简短的说明,这样通常也不用看帮助了:)比如:

mplayer -l

后,自动将参数补全为 -lo 然后给出提示

-{lo}adidx (Load index from file) -{lo}op
(Loop playback) {花括号中为青色文字}

它的语法高亮功能十分有用,如果你输入的命令是正确的,则用青色显示,正确的参数用白色显示,错误的则一律用红色。

2. 方便的历史纪录搜索
还是上面的那个命令

mplayer -loop 0 -shuffle -playlist
mp3_playlist

用上翻配合下翻浏览命令历史,直到找到这个命令,当然那样太慢了。还可以输入以上命令中的某一部分,如 uffle 只要翻一次就可以找到了(还可以 META+上翻在已输入部分中插入某一历史单词)

3. 文件夹历史纪录
dirh (dir history)就可以显示当前会话中进入的文件夹纪录使用 prevd 和 nextd 跳转 41

命令行
假如曾进入过 1 2 3 4 5 这几个文件夹, prevd 4 可以让你在 5 中直接跳到 1

4. 其它的功能,fish 基本是兼容 bash 的。键绑定也非常的相似,少数的键绑定不尽一致,例如:

5. \C-h 删除光标前的一个字符 (bash 为退格键,不方便)

修改 /etc/fish_inputrc 这个文件,增加以下行:

"\C-n": history-search-forward
"\C-p": history-search-backward

现在使用 Ctrl+p 上翻,使用 Ctrl+n 下翻。如果已经在命令行中输入字符,那么 Ctrl+p 就是在历史纪录向上查找您输入的字符,Ctrl+n 为向下查找,非常的方便。

可以使用如下命令更改您的默认 Shell

chsh -s /usr/bin/fish

(需要输入您的密码)
文章评论

共有 6 条评论

  1. 白郧 于 2010-01-14 23:19:16发表:

    还是习惯用以前的

  2. shenhao0129 于 2009-09-16 21:27:57发表:

    貌似确实很强大,早就有人给我介绍了fish,但是一直没有用!呵呵

  3. qiannian521 于 2009-08-11 11:52:56发表:

    看看

  4. cwqing1973 于 2009-07-28 08:08:49发表:

    支持一下。是好贴子。以后这样的好东西还要多的介绍。

  5. 死皮赖狗 于 2009-07-27 12:08:18发表:

    方便是蛮方便的,但是用习惯了,就有依赖了,到时记不得那么多的命令~~
    用来学习还不错……

  6. l460618498 于 2009-07-27 09:10:31发表:

    用不好