All Projects → shugo → Textbringer

shugo / Textbringer

Licence: mit
An Emacs-like text editor written in Ruby

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Textbringer

Bim
small terminal text editor with syntax highlighting
Stars: ✭ 174 (-23.68%)
Mutual labels:  text-editor
Slate Plugins
A set of my personal Slate editor plugins, in a monorepo.
Stars: ✭ 191 (-16.23%)
Mutual labels:  text-editor
Edi
Edi - The open source text editor IDE based on AvalonDock and AvalonEdit
Stars: ✭ 220 (-3.51%)
Mutual labels:  text-editor
Nib
Wysiwyg / Text editor components built using React and Prosemirror
Stars: ✭ 181 (-20.61%)
Mutual labels:  text-editor
Abricotine
Markdown editor with inline preview
Stars: ✭ 2,308 (+912.28%)
Mutual labels:  text-editor
React Editext
Editable Text Component for React Apps
Stars: ✭ 199 (-12.72%)
Mutual labels:  text-editor
Vue Trix
Trix text editor component for Vue.js
Stars: ✭ 159 (-30.26%)
Mutual labels:  text-editor
Pythonbuddy
Online Python Editor With Live Syntax Checking and Execution
Stars: ✭ 223 (-2.19%)
Mutual labels:  text-editor
Blindpad
Collaborative text editor (like Google Docs or CoderPad) with integrated semi-anonymizing voice chat intended to help reduce bias in technical communication.
Stars: ✭ 191 (-16.23%)
Mutual labels:  text-editor
Amp
A complete text editor for your terminal.
Stars: ✭ 2,997 (+1214.47%)
Mutual labels:  text-editor
Qmarkdowntextedit
A C++ Qt QPlainTextEdit widget with markdown highlighting support and a lot of other extras
Stars: ✭ 182 (-20.18%)
Mutual labels:  text-editor
Dred
A fast, lightweight text editor.
Stars: ✭ 186 (-18.42%)
Mutual labels:  text-editor
Avaloniaedit
Avalonia-based text editor (port of AvalonEdit)
Stars: ✭ 201 (-11.84%)
Mutual labels:  text-editor
Ngx Wig
Angular(...Angular 7, Angular 8, Angular 9, Angular 10, Angular 11) WYSIWYG HTML Rich Text Editor (from ngWig - https://github.com/stevermeister/ngWig)
Stars: ✭ 178 (-21.93%)
Mutual labels:  text-editor
Textosaurus
Cross-platform text editor based on Qt and Scintilla.
Stars: ✭ 224 (-1.75%)
Mutual labels:  text-editor
Brackeys Ide
👨‍💻 Brackeys IDE is a fast and free multi-language code editor for Android.
Stars: ✭ 154 (-32.46%)
Mutual labels:  text-editor
Sapling
A highly experimental vi-inspired editor where you edit code, not text.
Stars: ✭ 195 (-14.47%)
Mutual labels:  text-editor
Kuriimu
A general purpose game translation toolkit for authors of fan translations.
Stars: ✭ 226 (-0.88%)
Mutual labels:  text-editor
Vue Trumbowyg
Vue.js component for Trumbowyg WYSIWYG editor 📝
Stars: ✭ 224 (-1.75%)
Mutual labels:  text-editor
Viw
VI Worsened, a lightweight and fun VI clone.
Stars: ✭ 212 (-7.02%)
Mutual labels:  text-editor

Textbringer

Gem Version ubuntu windows macos codecov

Textbringer is a member of a demon race that takes on the form of an Emacs-like text editor.

Screenshot

Screenshot

Demo

Installation

$ gem install textbringer

You need ncursesw to use multibyte characters. Install ncursesw before installing curses.gem, on which textbringer depends.

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

Usage

$ textbringer

You can quit the editor by Ctrl-x Ctrl-c.

Many commands and key bindings are similar to Emacs.

Type F1 b or Alt+x describe_bindings RET to see key bindings.

Configuration

Meta key

You need the following configuration of terminal emulators to use meta key.

xterm

Add the following line to ~/.Xresources.

XTerm*metaSendsEscape: true

mlterm

Add the following lines to ~/.mlterm/main.

mod_meta_key = alt
mod_meta_mode = esc

East asian ambiguous width

Add the following line to ~/.textbringer.rb to treat ambiguous characters as fullwidth.

CONFIG[:east_asian_ambiguous_width] = 2

You also need a LD_PRELOAD hack or a modified locale charmap because ncursesw uses wcwidth(3).

xterm, mlterm and screen have their own configuration options.

xterm

Add the following lines to ~/.Xresources.

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

mlterm

Add the following line to ~/.mlterm/main.

col_size_of_width_a = 2

screen

Add the following line to ~/.screenrc.

cjkwidth on

Development

After checking out the repo, run bundle install to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/shugo/textbringer.

License

The gem is available as open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].