是什么 ? | : | an open source, community-driven framework for managing your fish configuration |
开发语言 | : | fish |
源码仓库 | : | https://github.com/oh-my-fish/oh-my-fish |
step1、安装依赖
安装时 | cURL、git、fish |
运行时 | cURL、git、fish |
step2、使用curl命令下载oh-my-fish
安装脚本,并执行之
curl -L https://get.oh-my.fish | fish
安装完成的效果如下:
这是什么鬼?这是Oh My fish
默认的主题,很难看,不要着急,一会儿使用omf
命令安装一个好看的主题即可。 先看看omf
命令怎么用。
Oh My fish
最好用的就是这个omf
命令,用它搞定一切。
查询包。
示例:
omf search theme
查看包的详细信息。
示例:
omf describe agnoster
运行效果如下:
安装一个包。Oh My fish
所有的功能都通过包管理,比如主题、插件等。
示例:
omf install agnoster
agnoster
包是一个主题包。安装完成后,立即就生效了。效果如下:
Oh My fish
提供了很多好看的主题,你可以先去预览,然后看好后进行安装。
列出已经安装的包(主题、插件)。
列出已经安装的主题和可以安装的主题。
切换已经安装的主题。
示例:
omf theme agnoster
omf theme default
卸载包。
示例:
omf remove agnoster
跟新包。
示例:
omf update
omf update omf
omf update nvm agnoster
仓库管理。
排错。
卸载Oh My fish
。
step1、创建Oh My fish
开发工程
omf new plugin <name>
omf new theme <name>
Oh My fish
的包分为插件
和主题
两种类型。
示例:
上面的命令创建了~/.config/omf/themes/${ThemeName}
目录,并在此目录中创建了如下一些模板文件:
文件 | 作用 | 参考 |
---|---|---|
fish_greeting.fish | 设置问候语 | |
fish_title.fish | 设置标题栏文字 | |
fish_prompt.fish | 设置左边提示符样式 | |
fish_right_prompt.fish | 设置右边提示符样式 |
step2、编码
在项目根目录下,除了上面自动生成的文件,还可以有如下文件:
step3、测试
1、将~/.config/omf/themes/${ThemeName}
在~/.local/share/omf/themes
中做一个软连接:
ln -s ~/.config/omf/themes/${ThemeName} ~/.local/share/omf/themes/${ThemeName}
2、将主题切换为${ThemeName}
:
omf theme ${ThemeName}
3、加载fish
:
fish
step4、发布到omf
官方列表中
1、将你的源代码push
到GitHub等平台上,得到一个URL
。
2、将https://github.com/oh-my-fish/packages-main fork
到您自己的账户下。
3、将https://github.com/${yourUserName}/packages-main
clone
到本地:
git clone https://github.com/leleliu008/packages-main
4、进入packages-main
目录,查看其内容:
5、在packages
目录下创建一个文件名为packageName
的文件,查看其内容:
type = theme
repository = https://github.com/leleliu008/fish-powerline
description = powerline-shell wrapper for fish
说明:
key | 必需 | 说明 |
---|---|---|
type | 是 | 取值为:plugin :表示此包是插件theme :表示此包是主题 |
type | 是 | 此包的git地址 |
description | 否 | 此包的描述信息 |
6、将修改push
到您的仓库中:
git add packages/$packageName
git commit -m "messages"
git push origin master
7、发起pull request
,请求合并到https://github.com/oh-my-fish/packages-main
中。