oh-my-fish/docs/zh-CN/README.md
Derek Willian Stavis a164ebdd5d init: rewrite init process (#260)
* init: rewrite init process

Now use pure globbing to generate 100% valid function and
completion paths, effectively splitting the init process in two
steps, one which paths are added, and other when initialization
is done (sourcing init).

This initialization code introduces a new interface for
`init.fish` hook, which deprecates the previously used event
model. The new interface injects three variables into `init.fish`:
path, package and bundle. This variables can be used by the
package to autoload paths, use bundled files, etc.

Also supports key bindings by sourcing
$OMF_CONFIG/key_bindings.fish and also key_bindings.fish in
packages (plugins and themes) root directories. This is done
when fish_user_key_bindings is called.

* omf: migrate to new init hook

* omf/templates: migrate to new init and uninstall hooks

* docs: document new init and uninstall hooks interface

* README: update new hook interface spec
2016-06-01 01:09:38 -03:00

4.9 KiB

The Fishshell Framework

MIT License Fish Shell Version Travis Build Status Slack Status

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 自带的辅助命令工具 omf 可以帮助你快速获取安装新插件和主题。

omf update

更新自身和已安装的所有插件和默认主题。

omf install [<name>|<url>]

安装 一个或多个 插件。

  • 你可以通过输入指定的 URL 直接安装插件 omf install URL
  • 当没有执行没有传入任何参数,将会从 bundle 文件检索并安装本地尚未安装的插件和主题。

omf list

显示本地已安装的插件列表。

omf theme <theme>

应用一个主题。查看全部可用主题执行 omf theme。安装之前你也可以预览现有主题

omf remove <name>

移除主题或插件。

包可以使用卸载挂钩,所以资源的自定义清理可以做到卸载时。有关更多信息,请参见 卸载

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 使用了友好的插件架构能够简化插件的开发,其中包括初始化、卸载事件和函数的自动加载。查看相关文档 获取更多信息。