Use rawgit to serve assets with correct Content-Type.
5.9 KiB
The Fishshell Framework
Oh My Fish 提供核心基础设施的配置,允许每个人可以轻松安装插件或随心所欲更换 Shell 外观样式,它的速度敏捷和可扩展性让你如鱼得水。
English • 简体中文
安装
curl -L github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish
omf help
或者 下载脚本 后自己执行:
curl -L github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install
fish install
更新方法
我们最近把Oh My Fish代码仓库移到了我们自己组织的帐号下。所以,你们也需要更新一下你们Oh My Fish代码仓的remote设置。对于Oh My Fish的早期用户,非常推荐你按照以下步骤干净地重新安装一次:
- 首先备份所有你自定义的东西
mv ~/.config/fish/config{,_old}.fish
rm -rf ~/.oh-my-fish
- 重新安装Oh My Fish
- 复制文件
~/.config/fish/config_old.fish
中所有以Plugin
和Theme
开始的行 - 把它们粘贴到文件
$OMF_CONFIG/bundle
中。如果这个文件不存在,就自己创建一下 - 把所有
Plugin "name"
这样的行转换成package name
这种形式,其中"name"是包名字 - 把所有
Theme "name"
这样的行转换成theme name
这种形式,其中"name"是主题名字 omf install
如果你在更新过程中遇到困难,可以到Slack上来寻求我们的帮助。
快速入门
Oh My Fish 自带的辅助命令工具 omf
可以帮助你快速获取安装新插件和主题。
omf update
更新自身和已安装的所有插件和默认主题。
omf install
[<name>|<url>]
安装 一个或多个 插件。
- 你可以通过输入指定的 URL 直接安装插件
omf install URL
- 当没有执行没有传入任何参数,将会从 bundle 文件检索并安装本地尚未安装的插件和主题。
omf list
显示本地已安装的插件列表。
omf theme
<theme>
应用一个主题。查看全部可用主题执行 omf theme
。安装之前你也可以预览现有主题。
omf remove
<name>
移除主题或插件。
插件如果注册(subscribed)过
uninstall_<pkg>
事件将会在插件移除前触发,因此你可以自定义自身清理和扫尾的工作以保证插件干净移除。 详见卸载部分获取更多信息。
omf new pkg | theme
<name>
创建新插件和主题的生成工具。
创建的模板会新创建并保存于
$OMF_CONFIG/{pkg | themes}/
文件夹下面。
omf submit
pkg/<name>
[<url>]
添加一个新的插件。提交新主题请使用 omf submit
themes/<name>
<url>
。
新插件或新主题需要托管于 Git 仓库,上面命令 url 需要输入 git 仓库的 url 地址。 此命令仅仅是把 git 仓库地址保存与 Oh My Fish 的 db 数据库,同时还需要提交 PR让组织把你的插件或主题归于框架。
omf doctor
使用前开馆问题 解决。
omf destroy
卸载 Oh My Fish.
高级用法
Oh My Fish 安装脚本会把自身启动代码加载到 fish 的配置文件 (~/.config/fish/config.fish
).
启动脚本
每次你新打开 Shell 都会从 配置文件 (默认:~/.config/omf
) 加载 Oh My Fish 的启动脚本(init.fish
) 进行初始化:
自动加载插件,主题和你自定义的配置文件。更多信息请查看FAQ.
Dotfiles
$OMF_CONFIG
目录存储用户使用 Oh My Fish 的重要配置参数,这是最完美的方式把该目录的所有文件加入你的 dotfiles 或加入到版本控制。
有四个重要文件:
theme
- 当前主题bundle
- 显示当前已安装的插件/主题列表init.fish
- 壳开始后执行的自定义脚本before.init.fish
- 壳开始前执行的自定义脚本
它强烈建议您自定义的启动命令进入 init.fish
文件而不是 ~/.config/omf/config.fish
,因为这可以让你保持在版本控制整个 $OMF_CONFIG
目录。
如果你需要的Starup命令来运行之前噢,我的鱼开始加载插件,将它们放置在 before.init.fish
代替。如果你不确定,通常最好把东西 init.fish
。
关于 bundle
每次当有插件和主题被安装或移除都会更新 bundle
文件。你也可以手动编辑该文件并执行 omf install
保证变更状态。
需要注意的是当有插件、主题被添加到 bundle 文件会自动被安装。但从 bundle 中移除掉它们却不会从用户安装路径移除物理文件。
创建插件
Oh My Fish 使用了友好的插件架构能够简化插件的开发,其中包括初始化、卸载事件和函数的自动加载。查看相关文档 获取更多信息。