一. 环境变量设置
大家知道bash的配置,一般都在个人目录下的.bash_profile文件里面.fish也有自己的配置文件,跟其他的shell一样,fish的配置文件主要放在这几个地方:
①/usr/share/fish/config.fish (Or /usr/local/fish... 如果你把fish安装在 /usr/local),
②/etc/fish/config.fish (Or ~/etc/fish/... 如果你把fish安装在你个人的主目录下)
③~/.config/fish/config.fish
一般情况下,我们选择③这个地方来设置我们个人的配置文件.
fish的环境变量设置的语法与一般的shell不太一样,fish使用下面的格式进行设置
set BROWSER "open"
set PATH $PYTHON_HOME/bin $DEV_HOME/apache/bin $PATH /usr/local/bin
直接使用 set 变量名 变量值1 变量值2 这样的格式进行设置.注意变量和变量之间以空格分开.
BROWSER变量要进行一下说明,这是指定你的浏览器的,因为fish的help信息是通过浏览器来显示的,所以这个是fish的特有变量,与其他的shell不一样.
另外的变量名之类的都与其他的shell一样.只是fish设置的语法更接近雨自然语言,更容易接受
二.自定义function
这个也是fish的一个亮点,它允许用户自定义一些function,按照fish的指定格式存放到指定的地点,那么这些function将能够像fish的内部命令一样进行调用(事实上fish的内部命令也是使用这种方式来定义的,可以查看/usr/local/share/fish/functions下面的.fish文件).
这些自定义的函数默认会存放在:~/.config/fish/functions 文件夹下面.命名方式是: 你的function名.fish,然后这个.fish文件的内容如下(~/.config/fish/functions/ls.fish):
function ls
ls -G $argv
end
这个$argv是fish的变量,它会获取你调用这个function时输入的参数.这个示例的function是在mac(unix系的应该也行,没实验过)下的ls命令之后(调用自定义function,默认在原来的ls命令后面自动加上-G参数)文件夹和文件使用不同颜色显示(linux默认的ls应该就有这个功能,所以不需要设置).
我们设置自定义function有两种方式:
①一种是直接到文件夹下面建立文件,然后将function内容写上,保存退出.
②另一种是在命令行终端先输出
function ls
ls -G $argv
end
然后紧接着执行
funcsave ls
这样fish将在前面提到的functions文件夹下面建立包含有function内容ls.fish文件.