2 个稳定版本
1.0.2 | 2023年12月27日 |
---|---|
1.0.0 | 2023年12月22日 |
#1310 in 命令行工具
125KB
1.5K SLoC
brr
例行公事的散文繁殖者
由 kilo 和 hecto 的热情熟练的先驱们提供的原始编程。由 maxwell letterlock 粗糙地改编和小心翼翼地修改。
brr 是一个文本编辑器,它借鉴了手写或打字机上书写的某些持久性。这样做的目的是希望减少人们不断更改已写内容而不是写新内容的冲动。
因此,它包含一个故意简化的主要“功能”集:
- brr 无法编辑已保存的文件,除非添加内容
- 开始写作后,brr 会每隔几句话(默认为六句)保存一次
- 一段时间(默认为五秒)的无操作后,brr 会在下一次按键时保存文件
这是我第一个项目,我从未完成其原始的 C 语言版本。最终,我决定简单地将其移植到 Rust。 :^)
我不知道我在做什么,我的代码非常低效,可能在某些地方很愚蠢,但似乎一切都在工作!如果你修复或整理了某些东西,我会非常感谢你提交一个 pull 请求并解释你做了什么以及为什么这样做,这样我可以学习!
最后,为了明确: 在使用 brr 编辑任何重要文档之前,请备份。 我已经尽我所能确保不会发生任何事情,我还会自己使用 brr,所以我有兴趣让它不删除我关心的事情,但我是最好的新手业余程序员。因此,与将你关心的文件托付给陌生人的程序一样,请小心!
更多功能
- 编辑和查看模式 — 你可以浏览你的文件!(哇!)
- 略有不准确的字数统计 — 你可以大致了解你写了多少!(难以置信!)
- 软换行!不要看这个代码!(前所未有的!)
- 可以在不离开程序的情况下打开不同的文件!(革命性的!)
- 配置文件!(非凡的!)
- 可编辑的文本被高亮显示!(难以置信!)
安装
安装 brr 最简单的方法就是下载可执行文件,将其放置在你想要的位置,然后运行它。通过任何包系统打包和分发 brr 稍微超出了我目前的专长(以及学习的意愿),所以现在我会先使用简单的二进制文件。如果你下载了 Linux 二进制文件,请记住给它运行权限。
病毒问题
我遇到的问题是与 Windows 二进制文件被杀毒软件标记,这显然是一个常见问题。我不确定该怎么办,听说可能有助于签名,但我没有这个条件。我已经自己扫描了它,并使用 virustotal 扫描了。
如果你对此感到不安,那可能是个好主意!不信任来自互联网的随机.exe 文件是明智的。如果你知道如何,可以查看源代码以寻找任何恶意代码,如果你不知道但仍然信任我的代码,可以查看以下说明以从源代码编译。这样做可以避免你必须信任我在上传之前没有注入恶意代码。
从源代码编译
如果你要从源代码编译,最简单的方法是使用本机 Rust 包管理器 cargo。你可以使用这个指南安装 cargo。
在你安装了 cargo(以及 Rust 编译器)之后,你只需在终端中运行以下命令即可安装。
$ cargo install brr-editor
安装。
一旦安装完成,请注意,brr 将以 "brr-editor" 的形式添加到你的路径中(有人已经使用了 "brr" 的包名),因此你可以从任何地方调用它。如果你只想调用 "brr",你可以将其别名,但请确保你的路径中没有其他同名二进制文件。
用法
brr 可以从终端调用或直接运行其可执行文件。
如果你直接运行它而不带任何参数,你会看到一个提示你输入想要打开的文件名的提示。如果你以以下方式运行它并指定想要打开的文件名
$ brr example.txt
它将打开该文件以进行编辑,而不是显示提示。
无论你如何启动应用程序,你提供的文件名可以是直接路径,也可以是你当前操作文件夹中的文件名。
如果你是从可执行文件打开 brr,你的当前操作文件夹应该设置为可执行文件所在的文件夹。
默认情况下,如果你输入文件名时忘记在末尾添加 ".txt" 或 ".md",brr 将在您正在工作的文件夹中搜索具有这些扩展名的文件,并加载该文件。此功能可以在配置文件中关闭。
如果你将 brr 添加到你的路径中,你可以像典型的 Linux 终端文本编辑器一样从任何地方调用它。
一旦开始编辑文件,你会看到可以实际影响的文本会被高亮显示,而保存的文本将显示为正常。你的光标将在终端窗口的中间,文本将滚动而不是光标,类似于打字机。
如果你想从写作中休息一下并查看你所写的内容,可以按 "ctrl+e" 切换到查看模式,或按 "ctrl+h" 查看有用的快捷键。"ctrl+s" 保存,"ctrl+o" 将允许你以与上面相同的方式打开新文件。
配置
brr 使用简单的纯文本配置文件,应该相当容易使用,只需在您喜欢的(实际上可用的)文本编辑器中打开它,然后更改等于符号后面的值!'brr.conf.default' 文件包含所有默认值和语法,以及一些有关各种选项的解释。
在启动时,brr 会检查其可执行文件所在的目录中是否存在 'brr.conf' 文件。如果您使用 Linux,brr 会首先检查 "$XDG_CONFIG_HOME/brr
"(如果未设置,也会检查 ~/.config/brr
),然后再检查其自身目录。
日志和错误
如果您使用 Windows,brr 会通过放置在可执行文件同一目录中的日志文件报告所有错误。如果您使用 Linux,brr 会首先尝试找到(如果不存在则创建)"$XDG_STATE_HOME/brr
"。如果 $XDG_STATE_HOME
未设置,则默认为 "~/.local/state/brr
"。如果无法创建该目录,则将尝试将其日志放在其可执行文件所在的目录中。
如果 brr 遇到无法恢复的错误,它会崩溃并退出,留下被错误杀死的错误信息。如果您从终端外打开可执行文件(例如,您直接运行了可执行文件),那么当进程退出时,终端也会关闭,所以您需要检查日志来了解发生了什么。
如果您遇到导致 brr 崩溃的错误,请将其作为问题报告,包括您的日志文件,并告诉我 brr 死亡时您正在做什么。
致谢
brr 最初是从 这篇教程 中改编的,后来在 这篇教程 的帮助下移植。我还从 kibi 的方式中汲取了很多灵感,它是一个非常酷的项目,是对原始 kilo 项目的 Rust 版本非常忠实的实现。代码文档非常详细且灵活,它通过一些非常巧妙的方式实现了如此小的代码库。
依赖项
~1.5–7MB
~33K SLoC