{"id":13533461,"url":"https://github.com/shugo/textbringer","last_synced_at":"2026-04-03T08:02:15.637Z","repository":{"id":15130444,"uuid":"77617379","full_name":"shugo/textbringer","owner":"shugo","description":"An Emacs-like text editor written in Ruby","archived":false,"fork":false,"pushed_at":"2025-05-08T07:21:30.000Z","size":6973,"stargazers_count":368,"open_issues_count":3,"forks_count":20,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-05-08T07:32:37.352Z","etag":null,"topics":["elric-saga","ruby","text-editor","textbringer"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shugo.png","metadata":{"files":{"readme":"README.ja.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-12-29T14:24:07.000Z","updated_at":"2025-05-08T07:12:00.000Z","dependencies_parsed_at":"2023-11-12T02:26:45.082Z","dependency_job_id":"9a8a43b8-310f-49cb-9740-580eef667843","html_url":"https://github.com/shugo/textbringer","commit_stats":{"total_commits":1068,"total_committers":4,"mean_commits":267.0,"dds":0.002808988764044895,"last_synced_commit":"f91a7a062f133bd7a800a77389deb5546a648d47"},"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Ftextbringer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Ftextbringer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Ftextbringer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Ftextbringer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shugo","download_url":"https://codeload.github.com/shugo/textbringer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254227631,"owners_count":22035671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elric-saga","ruby","text-editor","textbringer"],"created_at":"2024-08-01T07:01:20.050Z","updated_at":"2026-04-03T08:02:15.632Z","avatar_url":"https://github.com/shugo.png","language":"Ruby","readme":"# ![Textbringer](logo/logo.png)\n\n[![LatestVer](https://badgen.net/badge/latestver/0.1)](https://latestver.org/)\n[![Gem Version](https://badge.fury.io/rb/textbringer.svg)](https://badge.fury.io/rb/textbringer)\n[![ubuntu](https://github.com/shugo/textbringer/workflows/ubuntu/badge.svg)](https://github.com/shugo/textbringer/actions?query=workflow%3Aubuntu)\n[![windows](https://github.com/shugo/textbringer/workflows/windows/badge.svg)](https://github.com/shugo/textbringer/actions?query=workflow%3Awindows)\n[![macos](https://github.com/shugo/textbringer/workflows/macos/badge.svg)](https://github.com/shugo/textbringer/actions?query=workflow%3Amacos)\n\nTextbringerはRubyで実装されたEmacsライクなテキストエディタです。\nLispの代りにRubyで拡張することができます。\n\n## スクリーンショット\n\n![Screenshot](screenshot.png)\n\n## デモ\n\n* FizzBuzz: https://asciinema.org/a/103357\n* Rubyプログラミング: https://asciinema.org/a/100156\n* 日本語テキストの編集: https://asciinema.org/a/100166\n\n## インストール\n\n    $ gem install textbringer\n\nマルチバイト文字を使用するためにはncurseswが必要です。\nTextbringerが依存するcurses.gemをインストールする前に、ncurseswをインストールしておいてください。\n\n    $ sudo apt-get install libncursesw5-dev\n    $ gem install curses\n\n## 使い方\n\n    $ txtb\n\n`Ctrl-x Ctrl-c` で終了できます。　\n\n多くのコマンドとキーバインディングは[Emacs](https://www.gnu.org/software/emacs/)に似ています。\n\nキーバインディングを確認するには、 `F1 b` または `Alt+x describe_bindings RET` とタイプしてください。\n\n## 設定\n\n### メタキー\n\n端末エミュレータでメタキーを使用するためには、以下のような設定が必要です。\n\n#### xterm\n\n~/.Xresourcesに以下の行を追加してください。\n\n    XTerm*metaSendsEscape: true\n\n#### mlterm\n\n~/.mlterm/mainに以下の行を追加してください。\n\n    mod_meta_key = alt\n    mod_meta_mode = esc\n\n### True color (24ビットカラー)\n\n端末エミュレータがtrue colorに対応している場合、`TERM`に`xterm-direct`を設定すると24ビットカラーが有効になります。\n\n    $ TERM=xterm-direct txtb\n\nテーマで指定されたhex色が256色パレットに近似されず、そのまま表示されるようになります。\n\n### 東アジアの曖昧な文字幅\n\n[曖昧な文字](http://unicode.org/reports/tr11/#Ambiguous)を全角扱いするには、以下の設定を~/.textbringer.rbに記述してください。\n\n    CONFIG[:east_asian_ambiguous_width] = 2\n\nncurseswはwcwidth(3)を使用するため、LD_PRELOADハックやlocale charmapの修正が必要かもしれません。\n\n* https://github.com/fumiyas/wcwidth-cjk\n* https://github.com/hamano/locale-eaw\n\nxterm、 mlterm、screenにはそれぞれ独自の設定項目があります。\n\n#### xterm\n\n~/.Xresourcesに以下の設定を追加してください。\n\n    xterm*utf8: 1\n    xterm*locale: true\n    xterm*cjkWidth: true\n\n#### mlterm\n\n~/.mlterm/mainに以下の設定を追加してください。\n\n    col_size_of_width_a = 2\n\n#### screen\n\n~/.screenrcに以下の設定を追加してください。\n\n    cjkwidth on\n\n## テーマ\n\n`Alt+x load_theme RET` で[textbringer/themes](lib/textbringer/themes)または~/.textbringer/themes内のテーマを読み込むことができます。\n\n~/.textbringer.rbでテーマを設定することもできます。\n\n```ruby\nload_theme \"catppuccin\"\n```\n\nテーマが独自の背景色を設定している場合に、端末のデフォルト背景色を使いたいときは`load_theme`の後に以下を追加してください。\n\n```ruby\nset_background_color \"default\"\n```\n\n## プラグイン\n\n* [Mournmail](https://github.com/shugo/mournmail): 電子メールクライアント\n* [MedicineShield](https://github.com/shugo/medicine_shield): Mastodonクライアント\n* [textbringer-presentation](https://github.com/shugo/textbringer-presentation): プレゼンテーションツール\n* [textbringer-ghost_text](https://github.com/shugo/textbringer-ghost_text): [GhostText](https://github.com/fregante/GhostText)プラグイン\n\n## ライセンス\n\n[MIT License](http://opensource.org/licenses/MIT)の下でオープンソースとして利用可能です。\n\n","funding_links":[],"categories":["Happy Exploring 🤘","Awesome Ruby CLIs"],"sub_categories":["Workflow"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshugo%2Ftextbringer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshugo%2Ftextbringer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshugo%2Ftextbringer/lists"}