o 2.39.2

o is a text editor that is limited to the VT100 standard. It has general syntax highlighting and launches instantly. It might be a good fit for: - Editing git commit messages (using EDITOR=o git commit). - Editing Markdown, and exporting to PDF. - Learning "up and coming" programming languages, like Zig or Rust. - Editing files deep within larger Go or C++ projects. - Solving Advent of Code tasks. - Writing and maintaining to-do lists and project documentation in Markdown.

Tags text-editor editor
License BSDL
State stable

Recent Releases

2.39.229 Jun 2021 06:45 minor feature: Improve syntax highlighting, tab completion and default settings for Clojure. Improve syntax highlighting and tab completion for Odin. Add a template feature: insert "Hello, World" for empty Go, C, C++, Odin, Scala, Clojure, PKGBUILD, Python and Zig files when ctrl-w is pressed. an where the "jump to error" feature would jump to the line above the error, when ctrl-space was pressed. an with bookmarks, so that they are not moved when lines above are deleted. Improve the spinner animation. Refactor some of the code. Update dependencies. Update documentation.
2.38.105 Jun 2021 15:25 minor feature: a minor where the loading/saving spinner would not be stopped if there was an error loading/saving the file. Enable Tab completion after. Adjust keywords used to highlight Go code. Use string replacers (strings.NewReplacer) for a slight increase in performance. Slight performance improvement of the syntax highlighter. Adjust the default indentation for Odin.
2.37.327 May 2021 14:45 minor feature: an where the text was not colored red if the file was read-only. an where / and */ in comments in shell scripts would syntax highlight the line with the wrong colors. Never lock files named COMMIT_EDITMSG. If o is launched as ro the red/black theme is also used, because a symlink to o named red may conflict with the ed editor. Update dependencies. Update documentation.
2.37.216 May 2021 08:05 minor feature: Improve C and C++ syntax highlighting. Show a spinner also for file saving operations that takes a certain amount of time (not only file loading operations). If o is on a slow disk (measured when loading the file), don't lookup the last line location in the ViM and NeoVim configs. Update documentation. Update dependencies. Some refactoring.
2.37.112 May 2021 06:25 minor feature: The return key behavior at the end of a full screen of text in a new file. Rainbow parenthesis coloring for lines that contains a # as part of a string. Let the rainbow parenthesis feature also include square brackets ( and ). Improve the C# syntax highlighting.
2.37.007 May 2021 03:15 minor feature: Add support for C#. Add support for the Battlestar programming language. Update documentation. Update dependencies.
2.36.128 Apr 2021 03:15 minor feature: Improve syntax highlighting of / */ comments in the middle of a line. Bring back support for Go 1.11. (1.16 is recommended, though). Improved XML-detection. an with parsing single-line comment markers. Improve shell script syntax highlighting support. Syntax highlight pointer arrows in C and C++ (- ). Some refactoring. Update dependencies.
2.36.009 Apr 2021 09:25 minor feature: Autocompletion of programming language keywords when pressing Tab. an where 033 7l would be used instead of 033 ?7l for disabling line wrap. Thanks to Tom Szilagyi for the help with this!. Support for formatting /etc/fstab files with the help of fstabfmt. Initial support for Scala. Minor changes to the Go syntax highlighting. Immediately save the file if SIGTERM is received. Recognize that files saved to /usr/bin should normally be executable. Improve the JSON detection. Show the current file mode when pressing ctrl-g. an where lines containing - in C++ would make most of the line appear in gray. Minor changes to the --help output. Update dependencies.
2.35.125 Feb 2021 03:15 minor feature: an where ctrl-s would move the cursor in a non-obvious way and cause problems when inserting text at the end of long lines. Improve the Markdown to PDF export, using pandoc. Respect the PAPERSIZE environment variable. Draw the correct theme immediately when o starts. Don't blink. Use the red/black theme by default if the shell path starts with /usr/local/bin (BSD-likes). Use the default theme if the executable name is default. Add csh shell script detection. Add initial Nroff support, for writing man pages. View Jupyter Notebook files (.ipynb) as JSON. Add support for.te files (SELinux policy files). Initial support for the Odin programming language. Minor improvements for building Zig sources. Format XML and HTML by pressing ctrl-w, with the help of the tidy utility. Improve the syntax highlighting for regular text files. Add syntax highlighting of comments for HTML and XML. Minor improvements to the Go, Kotlin and Shell syntax highlighting. Switch the CI configuration from Travis CI to GitHub workflows. Save the last used command to /.cache/o/last_command.sh. Improve the help output and the error message if no filename is given. Compile with Go 1.16. Update documentation. Update dependencies.
2.35.009 Jan 2021 03:15 minor feature: Make it easy to preview HTML files at the press of ctrl-space by using xdg-open. Support for column numbers as a third argument when launching o. an where the cursor was hidden when moving left on a long line, after having scrolled to the right. return key behavior for long lines. backspace key behavior when removing indentation. Don't move to the start or end of the line when ctrl-s is pressed. syntax highlighting for numbered lists in Markdown, and lists where each item spans more than one line. Update dependencies. Update documentation.
2.34.131 Dec 2020 06:23 minor feature: - Add support for formatting HTML with ctrl-w if tidy is installed. - Improve the Ada support. - Minor improvement for Go syntax highlighting. - Minor improvement for how Rust executables are built. - Improved Rust syntax highlighting, including not interpreting #! ...(...) directives as shebangs. - Save the file before pasting using external utilities like wl-paste. - Make the portal feature per-user instead of per-system. - Better support for Zig. Recognize if SDL2 is in use and add -lsdl2, as a special case, only if there is no build.zig file. - When editing PKGBUILD files and selecting Call Guessica from the command menu, make it possible to undo. - Also support building Kotlin .kts files with ctrl-space (not just .kt). - Fix compilation for FreeBSD by using a specific commit of github.com/pkg/term. - Update dependencies. - Update documentation.