#editor #tui #语法高亮 #行号 #终端文本

应用 curlpipe/ox

由 Rust 驱动的文本编辑器

10 个版本

0.2.7 2020年11月22日
0.2.6 2020年11月7日
0.2.5 2020年10月24日
0.2.3 2020年9月27日
0.1.1 2020年8月9日

95文本编辑器

2,883 星 & 28 关注者

GPL-2.0 许可证

150KB
2K SLoC


Logo

氧编辑器

氧是一个在终端中运行的代码编辑器。


Build Status Build Status License

关于

氧是一个独立的文本编辑器,可以用来编写从文本到代码的一切。

如果你正在寻找一个文本编辑器,...

  1. 🪶 轻量级且高效
  2. 🔧 可以随心所欲地配置
  3. 📦 开箱即用功能,包括
    • 语法高亮
    • 撤销和重做
    • 搜索和替换
    • 行号
    • 一次性打开多个文件

...那么氧正是你所需要的

它作为文本用户界面在你的终端中运行,就像 vim、nano 和 micro 一样,但它并非基于任何现有编辑器,而是从头开始构建的。

它主要用于 Linux 系统,但 macOS 和 Windows 用户(通过 WSL)也可以尝试使用。

卖点

轻量级且高效

  • 🪶 氧轻量级,预编译的二进制文件在存储空间中大约占用 3mb。
  • 🪢 它使用 rope 数据结构,这允许增量编辑、文件读取和文件写入,这将提高性能,尤其是在大文件上。
  • 🦀 它是用 Rust 编写的,这是一种快速的低级语言,在性能方面享有盛誉。

强大的可配置性

  • 🔌 插件系统,你可以编写自己的插件或集成他人的
  • 🔧 提供了大量的配置选项,从颜色到状态行再到语法高亮,都允许自定义
  • 🌔 氧使用 Lua 作为配置语言,以便在脚本编写和配置时保持熟悉

开箱即用功能

  • 🖌️ 语法高亮
  • ↪️ 撤销和重做
  • 🔍 搜索和替换文本
  • 📁 一次性打开多个文件
  • 👁️ 显示编辑器和文件状态的UI

鲁棒性

  • 🌐 精通处理双字节Unicode字符,包括中文、韩文、日文和表情符号
  • 🥊 后端已通过自动化单元测试彻底测试

安装

⚠️ 警告:许多这些(除手动外)都相当过时,每次更新都要推送到所有这些来源是一项巨大的任务,我宁愿专注于创建高质量的更新

先决条件

由于Ox是用Rust编写的,您必须安装现代且可用的rustccargo

在Arch Linux上,您可以运行以下命令

sudo pacman -S rustup
rustup toolchain install stable

如果您不是使用Arch,您可以通过运行此通用命令轻松在其他发行版上设置它

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
/usr/bin/rustup toolchain install stable

您必须安装curl才能运行此命令。

安装路径

手动

安装Ox的绝对最佳方式,这将确保您始终拥有最新版本

在大多数现代硬件上,这应该最多只需要1分钟。

cargo install --git https://github.com/curlpipe/ox

Arch Linux

从Arch用户仓库安装ox-binox-git

这就完成了!

Fedora/CentOS

COPR仓库安装ox

sudo dnf copr enable atim/ox -y
sudo dnf install ox

您也可以在发布页面找到rpm文件

Debian

您可以在发布页面找到deb文件,可以通过dpkg安装

dpkg -i ox_version.deb

Homebrew

从Homebrew core tap安装ox

brew install ox

MacPorts

在macOS上,您可以通过MacPorts安装ox

sudo port selfupdate
sudo port install ox

快速入门指南

这是一份快速指南,旨在帮助您快速了解如何使用编辑器。您可以在下面的文档部分中深入了解,但这份快速入门指南是一个很好的开始。

打开文件

目前,您可以通过以下命令打开ox

ox

这将打开一个空文档。

如果您希望从命令行直接打开文件,可以运行

ox /path/to/file

以打开和编辑文件。如果您希望打开多个文件,可以提供多个文件参数,例如

ox file1.txt file2.txt

您还可以通过使用Ctrl + O快捷键在Ox内部打开文件

如果您想创建新文件,可以使用Ctrl + N来创建。

您可以通过输入来查找Ox的更多命令行选项

ox --help

当您打开多个文件时,请注意顶部的选项卡。

您可以使用Ctrl + Q快捷键关闭您正在查看的文件。当没有更多文档打开时,编辑器将自动为您关闭。

如果您想移动选项卡并查看其他已打开的文件,可以使用Shift + LeftShift + Right来回移动。

编辑文件

Ox没有模式,因此您可以直接在打开的文件中输入,就像nano或Windows记事本一样。

您可以使用标准箭头键在文件中移动光标。

您还可以使用以下键

  • PageUp - 在视口中向上移动一页
  • PageDown - 在视口中向下移动一页
  • Home - 移动到当前行的开头
  • End - 移动到当前行的末尾
  • Ctrl + Left - 移动到前一个单词
  • Ctrl + Right - 移动到下一个单词
  • Ctrl + Up - 跳转到文档顶部
  • Ctrl + Down - 跳转到文档底部

这里没有惊喜,要插入字符,请使用键盘上的字母和数字。 Enter 会添加新行,Tab 会创建制表符(或缩进),而 Backspace / Delete 用于删除字符。

如果您修改了一个文件,可能会注意到一个 [+] 符号,这意味着文件已被修改但未保存。您可以通过多种方式保存文档,包括使用 Ctrl + S 将其保存到打开的文件,Ctrl + A 保存所有打开的文件,以及使用 Alt + S另存为,此时将显示一个新文件名输入提示。

我们已经介绍了大多数键盘快捷键,但还有一些其他功能您可能希望利用,以下表格显示了尚未介绍过的键盘快捷键。

键绑定 功能
Ctrl+F 搜索文档中的搜索查询。允许按 将光标移至查询的上一个实例,按 移至下一个实例。按 ReturnEsc 退出搜索。注意:您可以使用正则表达式进行搜索查询。
Ctrl+Z 撤销上一个操作。每次按空格键、创建/销毁新行或一段时间内无活动时,更改都会提交到撤销堆栈,这可以用于捕捉思考暂停或喝咖啡等时刻。
Ctrl+Y 重做上一个操作。每次按空格键、创建/销毁新行或一段时间内无活动时,更改都会提交到撤销堆栈,这可以用于捕捉思考暂停或喝咖啡等时刻。
Ctrl+R 允许替换文档中的实例。使用与搜索功能相同的键绑定: 将光标移至查询的上一个实例, 移至下一个实例。您也可以按 Return 执行替换操作。完成替换后,按 Esc 退出替换模式。您还可以按 Tab 一次性替换文档中的所有实例。注意:您可以使用正则表达式进行搜索查询。
Ctrl+K 打开命令行。

配置

Ox 提供了一个配置系统,允许修改和自定义编辑器。

默认情况下,Ox 将在此处查找文件:$XDG_CONFIG_HOME/.oxrc~/.oxrc

Ox 的配置语言是 Lua

在存储库中的 config 文件夹中有一个默认配置,您可以参考。您可以选择将其下载并放置在默认配置目录中,或根据示例创建自己的配置。

如果您没有配置文件,或者不想修改它,不用担心,Ox 有默认设置将使用。

文档

如果您已经阅读了上面的快速入门指南,但仍想了解更多详细信息,您可以在 wiki 页面 找到深入文档。

这将通过详细步骤引导您完成 5 个不同的阶段

  1. 安装 - 安装建议和指南
  2. 启动 - 使用命令行界面
  3. 使用 - 编辑文档和控制编辑器
  4. 配置 - 编写插件、更改布局、添加和更改语法高亮
  5. 下一步 - 计划功能及贡献

希望它包含了你从入门到高级用户所需的所有内容。

许可证

在GNU GPLv2许可证下分发。更多信息请参阅LICENSE

联系方式

您可以通过我的Discord昵称curlpipe联系我。我将很高兴回答您可能有的任何问题!

致谢

以下技术的创造者

依赖项

~7–15MB
~164K SLoC