编辑器 活跃维护

textbringer

shugo/textbringer

一个用 Ruby 编写的类似 Emacs 的文本编辑器

392
Stars 标星
20
Forks 分支
22
Watchers 关注
2
Open Issues
Ruby
主要语言
MIT
开源协议
8.1 MB
仓库大小
8 小时前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:shugo/textbringer
git clone https://github.com/shugo/textbringer.git
git clone git@github.com:shugo/textbringer.git
README.md main

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

Textbringer 是一个类似 Emacs 的文本编辑器,用 Ruby 编写。它通过 Ruby 而不是 Lisp 扩展功能。

截图

演示

安装

$ gem install textbringer

您需要 ncursesw 才能使用多字节字符。在安装 textbringer 所依赖的 curses.gem 之前,请先安装 ncursesw。

$ sudo apt-get install libncursesw5-dev
$ gem install curses

您需要 ffi 才能在 Windows 上使用剪贴板命令。

$ gem install ffi

使用

$ txtb

你可以通过 Ctrl-x Ctrl-c 退出编辑器。

许多命令和快捷键与 Emacs 相似。

输入 F1 b 或 Alt+x describe_bindings RET 以查看快捷键绑定。

配置

元键

您需要以下终端模拟器的配置才能使用元键。

xterm

在 ~/.Xresources 中添加以下行。

XTerm*metaSendsEscape: true

mlterm

在 ~/.mlterm/main 中添加以下行。

mod_meta_key = alt
mod_meta_mode = esc

真彩色(24位颜色)

如果您的终端模拟器支持真彩色,将 TERM 设置为 xterm-direct 以启用 24 位颜色。

$ TERM=xterm-direct txtb

这允许主题显示其精确的十六进制颜色,而不是近似到 256 色调色板。

东亚模糊宽度

将以下行添加到 ~/.textbringer.rb,以将模糊字符 当作全角字符处理。

CONFIG[:east_asian_ambiguous_width] = 2

您还需要一个 LD_PRELOAD 黑客或修改过的 locale charmap,因为 ncursesw 使用 wcwidth(3)。

xterm、mlterm 和 screen 各自有其配置选项。

xterm

在 ~/.Xresources 中添加以下行。

xterm*utf8: 1
xterm*locale: true
xterm*cjkWidth: true

mlterm

将以下行添加到 ~/.mlterm/main。

col_size_of_width_a = 2

screen

将以下行添加到 ~/.screenrc。

cjkwidth on

插件

主题

输入 Alt+x load_theme RET 从 textbringer/themes 或 ~/.textbringer/themes 加载主题。

主题也可以在 ~/.textbringer.rb 中加载。

load_theme "catppuccin"

如果一个主题设置了自己的背景颜色,但你更希望使用终端的默认背景,请在 load_theme 后添加以下内容:

set_background_color "default"

开发

在检出仓库后,运行 bundle install 来安装依赖。你也可以运行 bin/console 来进入交互提示,这将允许你进行实验。

要运行测试,请运行 bundle exec rake test 。要将这个 gem 安装到本地机器上,请运行 bundle exec rake install 。

要发布新版本,请在干净的 main 分支上运行 bundle exec rake bump 。它会在 version.rb 中增加版本号,提交并推送更改,并推送 v<N> 标签。该标签会触发 push_gem.yml 工作流,通过受信发布将 gem 发布到 rubygems.org 并创建 GitHub 发布。不要运行 bundle exec rake release;它也会尝试从你的机器上推送 gem。

贡献

欢迎在 GitHub 的 https://github.com/shugo/textbringer 提交错误报告和拉取请求

许可证

这个 gem 可作为开源软件,根据 MIT 许可证 的条款提供。

本站来源与版权声明
  • 本文标题:textbringer - 一个用 Ruby 编写的类似 Emacs 的文本编辑
  • 本文链接:https://www.cn121.com/editor/shugo-textbringer.html
  • 原项目:shugo/textbringer 版权归原作者 shugo 及贡献者所有
  • 收录信息:本站于 2026-10-27 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 shugo/textbringer。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。