Hyper Mac版 命令行终端工具 SSH工具

Hyper – 基于网页技术的命令行终端

Hyper是一个基于网页技术构建的跨平台命令行终端。它追求速度、稳定性以及可扩展性,目标是打造一个美观、易用、功能强大的下一代命令行界面。

项目目标

Hyper的项目目标是利用开放的网页标准,为命令行用户创建一个漂亮且可扩展的使用体验。在项目初期,重点将放在运行速度、稳定性以及为扩展开发者提供正确的API上。未来,项目团队期待社区能为Hyper增加更多创新功能,使其成为最简单、最强大且经过严谨测试的提高生产力的界面。

可扩展性

Hyper支持使用npm安装扩展插件。任何包含hyper关键字的npm软件包都会被识别为Hyper插件。用户可以通过修改~/.hyper.js文件的plugins配置来启用插件。

插件完全采用Node.js通用模块规范开发,可以运行在Electron和renderer进程中。这使得插件可以拦截和组合Hyper内部使用的所有React组件和Redux动作,从而实现高度自定义。

键映射

Hyper允许用户自定义所有快捷键。用户可以通过修改~/.hyper.js文件中的keymaps字段来定义快捷键映射关系。

例如,可以将开发者工具的快捷键修改为Cmd+Alt+O:

module.exports = {
  keymaps: { 
    'window:devtools': 'cmd+alt+o' 
  }
}

主题和扩展示例

Hyper的插件机制使得开发主题和扩展变得非常简单。

例如,以下插件通过修改配置,为Hyper界面添加CSS样式和黄色调色:

exports.decorateConfig = (config) => {
  return Object.assign({}, config, {
    borderColor: 'yellow', 
    cursorColor: 'yellow',
    css: `
      ${config.css || ''} 
      /* 自定义CSS */
    `
  });
}

而Hyperpower插件则通过拦截Redux动作和修改组件,为终端实现了粒子特效:

// 拦截并处理动作
exports.middleware = (store) => (next) => (action) => {
  // ...
}

// 包装组件以访问底层实现
exports.decorateTerm = (Term, {React}) => {
  return class extends React.Component {
    // ...
  }
} 

配置

Hyper的配置文件位置:

  • macOS: ~/Library/Application Support/Hyper/.hyper.js
  • Windows: %APPDATA%Hyper.hyper.js

常见的配置选项包括:

  • fontSizefontFamily – 字体设置
  • cursorColor – 光标颜色
  • foregroundColorbackgroundColor – 前景和背景颜色
  • css – 自定义CSS
  • shell – 默认Shell
  • keymaps – 自定义快捷键

插件机制

插件可以通过实现特定的方法来介入Hyper的各个功能:

  • decorateConfig – 修改配置
  • onApponWindow 等 – 应用和窗口生命周期事件
  • middleware – Redux 中间件
  • decorateTerm – 包装组件
  • mapHyperState 等 – 修改状态映射

通过拦截事件和调度动作,插件可以实现各种自定义功能。

Hyper的运行原理

Hyper构建于Electron和JavaScript社区的先进技术之上,主要采用了以下技术:

  • Electron: 使用Chromium和Node.js来实现跨平台的桌面应用。Hyper 的主进程使用 Node.js,渲染进程使用 Chromium 来显示界面。
  • React:使用React函数式组件构建界面,实现快速的视图更新。
  • Redux:管理组件的状态和数据流。Redux store用于保存系统状态。
  • xterm.js: 提供全功能的终端模拟器功能。

借助这些技术,Hyper实现了热重载插件、虚拟文件系统、跨进程RPC通信等功能。

插件开发

开发 Hyper 插件非常简单,只需要通过 npm 发布,添加一些关键词元数据,实现指定的挂钩方法,就可以插入到 Hyper 的各个模块中。

插件可以通过 decorate 系列方法包装组件实现定制化界面,通过 middlewaremapState 等方法组织数据流,也可以通过挂钩生命周期事件完全接管 Hyper 的行为。

插件还可以直接调用 window.rpc 与主进程通信,调用系统命令,也可以通过 Redux actions 派发 Effect 实现异步任务。

定制化

Hyper 提供了非常灵活的定制化能力:

  • 配置文件支持自定义Shell、样式、快捷键等。
  • 支持以插件形式添加任意 React 组件实现界面定制。
  • 支持拦截和修改内部状态和动作。
  • 支持自定义主题样式。
  • 提供钩子在各种事件响应应用和窗口生命周期。
  • 支持添加预制的 Notifications。
  • 支持自定义 Tab 和 Window 标题等内容。

这使得 Hyper 可以高度定制以适应特定的工作流程或审美需求。

总结

Hyper致力于打造一个快速、可靠、可自定义的下一代命令行界面。它的插件机制为用户提供了无限可能,使之可以成为一个简单却功能强大的生产力工具。如果你需要一个 hackable 的终端,Hyper绝对是个不错的选择。

下载版本

版本 兼容平台 语言 大小 更新时间 下载
3.4.1 ARM 英文 96 2023-08-07
3.4.1 Intel 中文 90 2023-08-07
温馨提示:本资源来源于互联网,仅供参考学习使用。若该资源侵犯了您的权益,请 联系我们 处理。

评论留言