fish

fish是一个用户友好的shell全称Friendly Interactive Shell ,可用于如 Linux 这样的 Unix 类操作系统中。fish 当前具有语法高亮显示、高级的 Tab 键和→键自动补全、可找到的帮助、修订的shell语法、以及其他许多特性。

正文

fish是一个用户友好的命令行shell,全称Friendly Interactive Shell,可用于如 Linux 这样的 Unix 类操作系统中。fish 当前具有语法高亮显示、高级的 Tab 和 → 键自动补全、可找到的帮助、修订的shell语法、以及其他许多特性。fish 的最新版本为 1.21.11,于上月 24 日发布,它已经被包含在许多流行的 Linux 发行版中,如 Debian、Ubuntu、fedoraGentoo Linux、Arch 等。如果你对它有兴趣,那么可以根据自己所用的发行版本来选择是直接安装还是编译它。

简单介绍一下它的优点:

1. 自动补全、语法高亮

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

比如用 Mplayer 放 MP3:

mpl\u003ctab\u003e(ayer) -l\u003ctab\u003e(oop) \u003ctab\u003e(0)

-sh\u003ctab\u003e(uffle) -pl\u003ctab\u003e(aylist)

\u003ctab\u003e(mp3_playlist)

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

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

比如:

mplayer -l

\u003ctab\u003e 后,自动将参数补全为 -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 跳转命令行假如曾进入过 1 2 3 4 5 这几个文件夹, prevd 4 可以让你在 5 中直接跳到 1

4. 其它的功能,fish 基本是兼容 bash 的。

键绑定也非常的相似,少数的键绑定不尽一致,

例如: 删除光标前的一个字符 (bash 为退格键,不方便)

Linux壳层是可以无穷变化的,可供选择的有非常多种的如:sh,C Shell,bash,fish等。

参考资料


Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike.com/id.php on line 280