Text editors

Text Editors for Sabayon

23 October 2015 Comparisons, Text editors 3 comments

Figure 1: Atom on Sabayon Linux, showing syntax highlighting of a PHP script

Atom running on Sabayon Linux, showing syntax highlighting of a PHP script

Text editors are essential programs for software developers and programmers in general, as they enable users to write and edit source code files. They are popular tools used by both experienced and novice Linux users. In this post I will compare the various text editors available for Sabayon, with regard to several features and properties of each. It is important to note that I am not a programmer, my experience with programming is limited to mostly MATLAB/GNU Octave scripts, a small handful of Python scripts I wrote for technical computing (that is, numerical analysis) and a few bash scripts I have written to make my life easier, when I use Linux systems.

On Sabayon there are over a dozen different text editors (see, for example, the category app-editors at gpo.zugaina.org) available for installation, many of these are part of the core applications of complete desktop environments, such as GNOME or KDE Plasma. Each of these text editors also has its own target audience, with some being designed to be used only by seasoned programmers while others are useful only for writing simple text files. Entropy and Portage both use the category for programs relating to text editing of app-editors. To list the Entropy packages in this category, from the command-line, run:

user $  equo search “app-editors”

While to list ebuilds in installed overlays, plus the Portage tree, within the category of app-editors run:

user $  emerge –search “%@^app-editors”

To search all overlays run:

user $  eix-update && eix-remote update && eix -RCc “app-editors”

This post will compare several different text editors that are available for Sabayon (I know as I have installed them all myself), with respect to several aspects.

Comparisons

An ideal or perfect text editor would be one with the following features:

  • Syntax highlighting for every computer language available (computer language includes programming languages (such as C, C++, JavaScript, Lua, Python, etc.), markup languages (such as HTML), style sheet languages (like CSS), etc.)
  • Be extensively customizable (or some would say “hackable”), with user-supplied scripts and style sheets.
  • Be accessible to inexperienced users and experienced users alike.
  • Be free and open-source (licensed under either a permissive (e.g., MIT) or copyleft (e.g., GNU GPL) license).
  • Be able to run on any operating system platform.
  • Has keyboard shortcuts (such as Ctrl+C for copy or Ctrl+V for paste) that are intuitive and easily editable.
  • Be fast to start and use minimal system resources to run.
  • Be stable, not likely to crash or experience other bugs. As part of this, the text editor should also have a community of developers to help with rapid and effective troubleshooting whenever an issue arises.

In line with this, each section in which I discuss a particular text editor (TE) will have the following sections:

  • Background: relevant history and technical details of the TE.
  • Customizability: How customizable is the TE. Are there themes, plugins, extensions, etc. available for the TE?  Is it possible to customize the TE with user-supplied scripts.
  • Features: What other features does the TE have? Like how many different computer languages does it offer syntax highlighting and auto-indentation for.
  • Obtaining it: how can one get the TE on Sabayon?
  • Advantages (Pros)/Disadvantages (Cons): this is where I will summarize the positive and negative points of the previous sections as well as discuss how easy it is to use the TE.
  • Ratings: this is where I provide a numerical rating for each of the following points (from 0 to 10, 0 being awful/non-existent, 10 being perfect):
    • Availability: how easy it is to get the TE on Sabayon. A score of 10 would mean that the text editor is pre-installed on a default Sabayon installation. While a score of 8 would mean that it is possible to install the package quite easily with Entropy.
    • Beginner-friendliness: how steep is the learning curve of using this TE? That is, how difficult would it be for me, a non-programmer, to get to know this TE enough to write scripts in it, within an hour of first trying it?
    • Customizability: how easily and extensively customizable the TE is.
    • Features: how extensive is the TE’s syntax-highlighting cover of computer languages (that is, what proportion of computer languages can the TE do syntax highlighting for?). Does the TE also have IDE-type features such as in-built Python terminal, or shell terminal, etc?
    • Popularity: how popular is this TE amongst Sabayon users? According to this poll. I will use just a numerical rating, as I expect this poll will likely get a few extra votes while I am writing this post.
    • System resource usage (SRU): how much CPU/RAM does this TE use? How much disk space does it take up? How much brandwidth is taken up downloading it? Yet again I will be using ps mem to assess RAM usage.
    • Overall: overall how satisfied am I with this TE?

Atom

Atom on Sabayon Linux, showing syntax highlighting of a PHP script

Atom on Sabayon Linux, showing syntax highlighting of a PHP script

Background

Atom is a free and open-source (licensed under MIT) text editor developed by GitHub, Inc. Its first public release was in 2014, although its first stable release (1.0 release) was not until June 2015. It is unique amongst the text editors listed here in a few different ways, firstly, its target audience is very wide with it being designed to be usable for inexperienced programmers as well as seasoned programmers and software developers. Secondly, it is written in CoffeeScript, HTML, JavaScript and Less — computer languages usually used to write web pages.

Customizability

Atom is very customizable, via several themes and plugins that can be installed from the command-line, using the command

user $  apm install <PACKAGE>

or from within Atom itself. I personally prefer the command-line, as I have had some bad experiences with the built-in installer. From the command-line the command for installing new themes or plugins is:

user $  apm install <PACKAGE>

where <PACKAGE> is the plugin/theme’s name. Customizations, including plugins and themes are stored in ~/.atom. Advanced customization (for example, of keyboard shortcuts) must be done by directly editing files in this directory. For example, in order to edit your keyboard shortcuts you need to edit ~/.atom/keymap.cson.

Features

Atom has plugins for syntax highlighting and auto-indentation of most major computer languages including:

  • Ada
  • C
  • C#
  • C++
  • CoffeeScript
  • CSS
  • Fortran
  • GNU Octave/MATLAB
  • HTML
  • Java
  • JavaScript
  • Less
  • Lua
  • MediaWiki
  • PyMOL
  • Python
  • R
  • SageMath
  • Scilab
  • Shell script, including Bash and Zsh.
  • XML

and several others. It also has packages that provide other features, including previews for markup languages such as HTML and markdown, an in-built terminal, etc.

Obtaining it

Atom can be installed via two major methods: either adding an overlay with Layman that contains an Atom ebuild and then installing this package with Portage or manually building the program from source code. I usually prefer the manual route as any momentary glitch in your internet connection can easily stuff up an Portage build, while with a manual build it is no big deal if it does as you can just re-run script/build and then proceed with the installation as usual. If you would rather install Atom from a binary package (experimental) go to this GitHub repository and see the instructions there.

Disadvantages (Cons)

  • Slow to start
  • Must be installed via one of two fairly error-prone methods, or a third experimental method.

Advantages (Pros)

  • Easily and extensively customizable
  • Intuitive and easy to learn
  • Support for a wide range of different computer languages
  • Displays directory structure in (left) side panel

Ratings

  • Availability: 3-4. It is possible to install Atom on Sabayon, but it is more error-prone than it is on more popular distributions like Debian, Fedora, openSUSE and Ubuntu, which have pre-compiled binary packages available on the Atom website.
  • Beginner-friendliness: ≥8. It is easy to get to used for beginners, as it uses the keymap as several basic text editors like gedit and Notepad.
  • Customizability: 8. It is totally customizable, for those with the skill and time. For lay persons its customizability is more limited, to customization with available packages and themes.
  • Features: 8. Most computer languages are covered by Atom’s syntax highlighting plugins, but some are not, for example, it does not yet have support for desktop configuration files.
  • Popularity: ≥8. While this text editor is new, its popularity on Sabayon is fairly high and increasing.
  • SRU: 2. Atom 1.0.19 is a 59.4 MB download, when it is installed it takes up a total space of 196.2 MB. Here is my ps mem table for running under LXDE:
  • Overall: 7-9. It is my favourite text editor, but it is still early days, its SRU and boot time are issues that are being worked on, new packages and themes are created every week. It may become easier to install it on Sabayon, in the future, perhaps in response to my request that Atom be added to the Sabayon overlay.

Website(s)

Bluefish

Figure 2: Bluefish running under LXDE

Bluefish running under LXDE

Background

Bluefish is a text editor, primarily intended for web development and programming, as it provides syntax highlighting support and other features mostly for web markup, programming and style sheet languages.

Customizability

I have limited experience with Bluefish but from what I can gather, it is customizable, although I cannot comment on how extensive this customizability is.

Features

Syntax highlighting is available for almost (if not all) all computer languages used in web development.

Obtaining it

It can be installed with Entropy or Portage (and is available in the Portage Tree). With Entropy run:

root #  equo i -av app-editors/bluefish

While to install it with Portage run:

root #  emerge -av app-editors/bluefish

Advantages (Pros)

  • Customizable
  • Has features that would appeal to a web developer

Disadvantages (Cons)

  • ?

Ratings

  • Availability: >8. Available in the Entropy Store and from Portage
  • Beginner-friendliness: >4. Its keyboard shortcuts are intuitive (e.g., Ctrl+C to copy), behind this my experience with it is not extensive enough for me to comment.
  • Customizability: >4. It is customizable, but as I do not have much experience with this text editor, I do not know just how customizable it is.
  • Features: >7. It is possible to do compiling and use integrated development environment (IDE)-type features.
  • Popularity: 2. It has received one vote on my poll, thus far.
  • SRU: 5. Bluefish (2.2.7) is a 3.1 MB download with Entropy and takes up 9.5 MB HDD space when installed. This is my ps mem table:
  • Overall: ~7. Cannot be too confident as to this rating without using this text editor more.

Website(s)

Geany

Geany 1.24.1 running under Moksha

Geany 1.24.1 running under Moksha

Background

Geany is a lightweight GTK+ and Scintilla-based text editor with basic IDE-type features that was originally developed by Enrico Tröger in 2005. It is licensed under GNU GPLv2.

Customizability

The ~/.geany directory is where customizations are kept. This customization can be made with code snippets (written in HTML, LaTeX, PHP and Python), plugins, themes, etc.

Features

Geany provides auto-indentation and syntax-highlighting for over a dozen different computer languages. Geany has an embedded terminal emulator. Several extra features can be added to Geany, using plugins.

Obtaining it

Geany can be easily installed using Entropy or Portage. Using Entropy run:

root #  equo i geany

while to install it using Portage run:

root #  emerge -av geany

The latest version of Geany in the Entropy Store is 1.24.1, while the latest version of Geany as of 24 October 2015 is 1.25 (released July 2015) which is available from the Portage Tree.

Disadvantages (Cons)

    • The list of supported computer languages, for syntax-highlighting and other features is fairly small, compared to Atom, Gedit, GNU Emacs and Vim. See for example, the screenshot below, showing allowed file types.

Geany Document->File Type->Programming Languages

  • The version of Geany in the Entropy Store is not the latest available

Advantages (Pros)

  • It has a few IDE-type features.
  • It is fairly lightweight.
  • It is cross-platform, hence if you switch from Sabayon to another OS fairly frequently, it should not be too difficult to get Geany on said OS.
  • Keyboard shortcuts are fairly intuitive.

Ratings

  • Availability: 7-8. I am rating it a little lower than 8, as the latest version in the Entropy Store is not the latest, even though the latest has been available for three months, thus far.
  • Beginner-friendliness: 8. It seems fairly user-friendly, as its keyboard shortcuts are fairly intuitive.
  • Customizability: 7? My experience with this TE is too limited for me to be confident with this rating.
  • Features: 8.
  • Popularity: 5-7.
  • SRU: 8. Geany 1.24.1 is a 3.4 MB download and takes up 9.8 MB HDD space when installed. Here is my ps mem table (remember I have neglected to include the RAM used by the embedded terminal emulator):
  • Overall: 8. Seems fairly good.

Website(s)

gedit

gedit running under Moksha

gedit running under Moksha

Background

gedit is a GTK+ based text editor that is one of the core applications of GNOME. In my opinion, it is the second most advanced text editor (after Kate) that is part of a desktop environment’s core application suite. It is also more advanced than Windows’ Notepad and Wordpad text editors.

Customizability

gedit is able to be customized, although from what I have gathered from reading its Wiki, customization options are limited as it does not seem to support advanced customization (via editing configure files, for example), rather there are some themes and plugins available but the plugins seem fairly limited.

Features

It supports syntax highlighting of several computer languages, including Desktop Configuration files (.desktop or .directory), MATLAB, MediaWiki, GNU Octave, Scilab and shell script, just to name a few I know are absent in a few basic text editors. Although it does not support syntax highlighting for PyMOL or SageMath, so I would not say its syntax highlighting is as extensive as Atom’s or Vim’s.

Obtaining it

It is easy to obtain gedit on Sabayon, via either Entropy or Portage (and yes it is available in the Portage Tree). If I am not mistaken, gedit comes with a default installation of Sabayon GNOME edition. To install it using Entropy on an existing Sabayon machine, simply run (you can omit the -av options, if you are sure gedit is not already installed on your system, I am using these options in case it is and you are not aware of it):

root #  equo i -av app-editors/gedit

Alternatively to install it using Portage run:

root #  emerge -av app-editors/gedit

Disadvantages (Cons)

  • Customization options, beyond with a limited set of available themes and plugins, are limited.
  • Fairly light on features, beyond syntax highlighting

Advantages (Pros)

  • Light on resources
  • Easy to obtain on Sabayon

Ratings

  • Availability: >8.
  • Beginner-friendliness: >8.
  • Customizability: 6.
  • Features: 8.
  • Popularity: ~7.
  • SRU: 7. Its Entropy package (3.16.3) size is 2.4 MB, while when installed it takes up 11.5 MB HDD space. Here is my ps mem table:
  • Overall: 8.

Website(s)

GNU Emacs

GNU Emacs running under Moksha

GNU Emacs running under Moksha

Background

GNU Emacs (GE) is an extensively-customizable text editor that is developed by the GNU Project. Its original developer was Richard Stallman, the founder of the GNU Project and its first release was in 1985. It belongs to a family of text editors called Emacs, which are text editors that are extensively customizable for users with sufficient programming knowledge. Emacs is abbreviated from Editor Macros, which refers to its origin as editor macros for the TECO text editor, that were developed, in part, by Richard Stallman. GE is written in C and Emacs Lisp (ELisp), a dialect of the Lisp programming language devised just for GE. ELisp is used to write extensions and provide extra functionalities for GE and related text editors like XEmacs.

Customizability

GE is one of the most customizable text editors available, but much of this customization must be done via writing code in ELisp, which limits much of this customization to advanced users only.

Features

GNU Emacs provides syntax highlighting for dozens of different computer languages, along with several features of IDEs like shell access, compiling code, using git from within GE, etc. The app-emacs Portage category contains several plugins for GNU Emacs.

Obtaining it

GNU Emacs is available from the Entropy Store and the Portage Tree. To install it with Entropy run:

root #  equo i -av app-editors/emacs

while to install it with Portage run:

root #  emerge -av app-editors/emacs

Disadvantages (Cons)

  • Has a steep learning curve for newcomers, hence making it inaccessible to newcomers to Linux and programming, in general.
  • Has an unconventional keymap, which can take some time to learn. For example, to cut text you use Ctrl+W, as opposed to the usual Ctrl+X, while to paste text you use Ctrl+Y.

Advantages (Pros)

  • Extensively customizable
  • Heavy on features, especially for advanced users that can extend it using ELisp.
  • Provides syntax highlighting for dozens, if not hundreds, of computer languages
  • Has its own Wiki, manual and other documentation.

Ratings

  • Availability: >8. Readily available for installation on Sabayon.
  • Beginner-friendliness: ≤5. Not particularly difficult for a newcomer to use as a basic text editor, but any further usage requires extensive knowledge of ELisp.
  • Customizability: >9. Extensively customizable for all those that understand ELisp sufficiently.
  • Features: >9. It is one of the most feature-packed text editors available today.
  • Popularity: 6. I am actually quite surprised by its lack of popularity on Sabayon, from what I have heard it should have ranked right up there with Vim for popularity.
  • SRU: 7-8. Emacs 24.5 is a 35.8 MB download and takes up 142.2 MB HDD space when installed. Fairly lightweight as far as text editors go, RAM-wise. Here is my ps mem table:
  • Overall: 8. It is a very powerful text editor, but to me, its lack of customizability by those that do not understand ELisp is a significant disadvantage.

Website(s)

GNU nano

GNU nano running within LXTerminal under Moksha

GNU nano 2.4.2 running within LXTerminal under Moksha

Background

GNU nano is a command-line text editor that is developed as part of the GNU Project. Its development began in 1999 by Chris Allegretta, as a free alternative to the proprietary Pico text editor. Later, in 2001, it officially became part of the GNU Project. Several features (like search, search and replace, save, exit, etc.) are accessed using keyboard shortcuts. It can be invoked by running the command “nano” from the command-line. nano can be passed several different options from the command-line, to see a full list see its man page (invoked by running man nano or, if you would prefer to view it in your browser, go here). Usually when I want to edit a file with nano I simply run nano <FILE> where <FILE> is the file’s name (potentially also with its path if it is not in my current directory).

Customizability

I am unaware of any possible customization of nano, if you know some please do tell me in the comments of this post.

Features

It offers syntax-highlighting, auto-indenting and miscellaneous other support for several computer languages. It also auto-detects the computer language using file extensions. It also has search functions (accessable via pressing Ctrl+W).

Obtaining it

It is fairly simple to get nano on Sabayon. Odds are it will already be installed by default on your Sabayon machine, so check to see if it is with nano (does not matter if you execute this as root or standard user). If you do not have it, you can try to install it with Entropy, via running:

root #  equo i -av app-editors/nano

alternatively, to install it with Portage, run:

root #  emerge -av app-editors/nano

Ratings

  • Availability: 10.
  • Beginner-friendliness: 7. Fairly easy to get used to, but its keyboard shortcuts are not totally intuitive.
  • Customizability: 0?
  • Features: 8.
  • Popularity: 7.
  • SRU: 10. GNU nano 2.4.2 is a 0.6 MB download and takes up 1.8 MB HDD space when installed. It is incredibly light, here is my ps mem table:
  • Overall: 8. I rather like it for basic editing, but whenever I want to edit a several dozen-line file, or bigger, I usually switch to Atom as it is easier to navigate in Atom, in my experience.

Website(s)

jEdit

jEdit 5.2.0 running under Moksha

jEdit 5.2.0 running under Moksha

Background

jEdit is a Java-based text editor that began life in 1998, when Slava Pestov started developing it. Pestov later left the project in 2006, when he handed the reigns to the free software community. jEdit provides syntax highlighting for dozens of computer languages so far, and can be customized using scripts written in a variety of different programming languages such as JavaScript and Jython. As it is written in Java it can run on any Java-capable platform, including Sabayon.

Customizability

It is extensively customizable, via scripts in supported languages. Several plugins, that provide extra functionality, are available via a built-in plugin installer (under the “Plugins” menu).

Features

As previously mentioned auto-indentation and syntax-highlighting support exists for a long list of computer languages. Plugins with extra IDE-like capabilities also exist, including a plugin for using git from within jEdit, another for using a Jython interpreter from within jEdit, another for a Python shell, etc.

Obtaining it

On Sabayon jEdit can be installed via Entropy or Portage (from the Portage Tree, no need to add unofficial overlays for it). To install it using Entropy run:

root #  equo i -av app-editors/jedit

while to install it using Portage run:

root #  emerge -av app-editors/jedit

Disadvantages (Cons)

  • Heavy on system resources.

Advantages (Pros)

  • Easy to obtain it on Sabayon
  • Extensively customizable
  • Has intuitive keyboard shortcuts
  • Written in Java, hence can run on most platforms, if you end up switching to a new operating system in the future
  • User-friendly

Ratings

  • Availability: 8.
  • Beginner-friendliness: 8. Fairly beginner-friendly, but extra functionalities beyond that available via existing plugins must be added using self-made scripts.
  • Customizability: >8. Very customizabile.
  • Features: 8. Extensive auto-indentation and syntax-highlighting support for a range of computer languages, as has some IDE features.
  • Popularity: <3. Not a single vote casted in its favour so far.
  • SRU: 3. jEdit 5.2.0 is a 2.6 MB download and takes up 10 MB HDD space when installed. Second heaviest text editor compared in this post, after Atom, RAM-wise. Here is my ps mem table:
  • Overall: 8. Seems like quite a useful text editor.

Website(s)

Kate/KWrite

Kate 15.08.1 running under Moksha

Kate 15.08.1 running under Moksha

KWrite 15.08.0 running under Moksha

KWrite 15.08.0 running under Moksha

Background

Kate, which is abbreviated from KDE Advanced Text Editor, is a text editor that is a KDE Core Application (a part of the KDE Software Compilation or KDE SC) and combines features of an advanced text editor (that is, one geared towards software developers and experienced programmers) such as customizability, extensive syntax-highlighting, code-indentation, etc. support with sufficient user-friendliness for it to be suitable for inexperienced Linux users. Its development began in 2001 and has been a central part of KDE SC ever since.

KWrite, as I understand it (but I must admit I am a little confused by the degree of overlap between Kate and KWrite) is designed to be a lightweight derivative of Kate.

Customizability

Some customization (such as of keyboard shortcuts, the toolbar and a few other features) can be done graphically via going to the “Settings” menu and selecting an option from the menu. From what I can gather, however, limited customization can be done textually via user-supplied scripts.

Features

It has syntax-highlighting and auto-indentation support for over 180 different computer languages, including MediaWiki and shell script, but excluding PyMOL. It also has embedded terminal support.

Obtaining it

Kate can be quite easily obtained from Entropy or Portage. To install it from Entropy run:

root #  equo i -av kde-apps/kate

while to install it with Portage run:

root #  emerge -av kde-apps/kate

Getting KWrite is similarly easy, just use (for installation with Entropy):

root #  equo i -av kde-apps/kwrite

while to install KWrite with Portage run (no need to add any overlays, it is in the Portage Tree):

root #  emerge -av kde-apps/kwrite

Disadvantages (Cons)

  • Minimal customization can be made to Kate/KWrite, via user-supplied scripts.
  • Due to it being part of KDE SC it cannot be too easily ported to Microsoft Windows or OS X, although it is readily available on most Linux distributions.

Advantages (Pros)

  • Easily customizable via graphical tools
  • Intuitive keyboard shortcuts by default
  • Extensive support for a wide range of computer languages

Ratings

  • Availability: 8. Easy to get on Sabayon.
  • Beginner-friendliness: 8. Easy for beginners to use.
  • Customizability: 7-8. Fairly customizable, but unlike Atom say where advanced users have the option of extending the TE further using their own scripts, Kate does not seem to have this capability
  • Features: 8. Extensive support for computer languages and has some IDE-like features.
  • Popularity: 8. Fairly popular according to my poll.
  • SRU: 7. Kate 15.08.2 is a 2.4 MB download and 9.2 MB package when installed, while KWrite 15.08.2 is a 0.1 MB download and 177 kB package when installed. Fairly lightweight for a graphical TE. Here are my ps mem tables (for Kate 15.08.1 and KWrite 15.08.0, respectively):

  • Overall: 8-9. User-friendly and fairly customizable.

Website(s)

Leafpad

Leafpad 0.8.18.1 running under Moksha

Background

Leafpad is a lightweight and basic GTK+ based text editor. Its capabilities (or rather lack thereof) are very similar to those of Windows’ Notepad.

Customizability

There is little, if any, customizability for Leafpad.

Features

It offers no syntax highlighting support or auto-indentation support that I am aware of.

Obtaining it

To install it on Sabayon with Entropy run:

root #  equo i -av app-editors/leafpad

while to install it with Portage run:

root #  emerge -av app-editors/leafpad

Disadvantages (Cons)

  • It is very basic, has minimal customizability or features

Advantages (Pros)

  • Its chief advantage is its low system resource usage
  • Easy to install on Sabayon

Ratings

  • Availability: 8.
  • Beginner-friendliness: 10.
  • Customizablity: 0.
  • Features: 0.
  • Popularity: 4. One person has voted for it so far in my poll.
  • SRU: 9. Leafpad 0.8.18.1 is a 0.1 MB download and 3.3 MB package when installed. It is the most lightweight graphical TE in this comparison. Here is my ps mem table:
  • Overall: 7. Fairly basic, but at least it is stable and easy to use.

Website(s)

Mousepad

Mousepad 0.4.0 running under Moksha

Mousepad 0.4.0 running under Moksha

Background

Mousepad is a core application of the Xfce desktop environment, that was originally forked from Leafpad. Like Leafpad it is fairly lightweight, but unlike Leafpad, Mousepad can be customized and has a few basic features that are absent from Leafpad, such as syntax highlighting support for a few computer languages.

Customizability

Some basic customization can be done, graphically, by going to Edit←Preferences in the toolbar. Some customization of its appearance can be done by going to the View menu. Beyond this, to my knowledge, it cannot be customized.

Features

It supports syntax-highlighting for roughly, a couple of dozen computer languages.

Obtaining it

It is fairly easy to obtain it on Sabayon, to install it with Entropy run:

root #  equo i -av app-editors/mousepad

while to install it with Portage (and yes it is available in the Portage Tree):

root #  emerge -av app-editors/mousepad

Disadvantages (Cons)

  • Basic, limited computer language support
  • Limited customization options

Advantages (Pros)

  • Lightweight
  • All customization can be done graphically
  • User-friendly

Ratings

  • Availability: 8. Easy to obtain on Sabayon
  • Beginner-friendliness: 10.
  • Customizability: 2-4.
  • Features: 4
  • Popularity: <3.
  • SRU: 8. Mousepad 0.4.0 is a 0.4 MB download and takes up 1.1 MB when installed. Very lightweight. Here is my ps mem table:
  • Overall: 7. The next step up from Leafpad, in complexity it is.

Website(s)

Pluma

Pluma 1.8.1 running under Moksha

Pluma 1.8.1 running under Moksha

Background

Pluma is a fork of gedit 2 created for the MATE desktop environment. It has many of the same features as gedit.

Customizability

Some customization (to the theme or adding some plugins) can be done by going to Edit→Preferences.

Features

Pluma has a few plugins that can be used to add features (mostly IDE-like features) to the text editor. It also has syntax-highlighting and auto-indenting support for several computer languages.

Obtaining it

It can be installed with Entropy by running:

root #  equo i -av app-editors/pluma

or with Portage by running:

root #  emerge -av app-editors/pluma

Disadvantages (Cons)

  • Customization options are fairly limited

Advantages (Pros)

  • Customization is done graphically, making it easier for beginners.
  • Has intuitive keyboard shortcuts
  • Has several IDE-like features like a Python terminal.
  • Has syntax-highlighting and auto-indenting suport for several computer languages

Ratings

  • Availability: 8. Easy to get on Sabayon.
  • Beginner-friendliness 9. Customization is done graphically, making it more user-friendly.
  • Customizability: 6. Fairly limited customization options, but they can be done graphically at least.
  • Features: 8.
  • Popularity: <3. No one has voted for it yet.
  • SRU: 8. Pluma 1.8.1 is a 3.4 MB download and 12.7 MB package when installed. Fairly lightweight. Here is my ps mem table:
  • Overall: 8.

Website(s)

SciTE

SciTE 3.6.1 running under Moksha

SciTE 3.6.1 running under Moksha

Background

SciTE (abbreviated from SCintilla based Text Editor) is a Scintilla-based text editor originally developed by Neil Hodgson, that is licensed under a GPL-compatible license. It is a fairly user-friendly text editor, that can be customized and scripted with using Lua. Its syntax-highlighting is based on the contents of the .properties files it loads. SciTE is cross-platform, available on Microsoft Windows and most Linux distributions for free, although for OS X users it is only available for a fee of 41.99 USD.

I first tried it when it was the default text editor used by GNU Octave to edit m files.

Customizability

SciTE can be customized by editing .properties files or via scripting with Lua. There are no major graphical tools for customizing SciTE.

Features

It provides syntax-highlighting for dozens of computer languages. Support for extra languages can be added by creating .properties files for them.

Obtaining it

It is easy to install it with Entropy or Portage. To install it with Entropy, run:

root #  equo i -av app-editors/scite

To install it with Portage, run:

root #  emerge -av app-editors/scite

Disadvantages (Cons)

  • The list of languages it automatically supports is <30.

Advantages (Pros)

  • Fairly lightweight
  • Extensively customizable
  • Easy to get on Sabayon and other Linux distributions

Ratings

  • Availability: 8.
  • Beginner-friendliness: 8. You should be able to get started with SciTE without much experience in programming or using text editors.
  • Customizability: 8. Fairly customizable, textually only.
  • Features: 7.
  • Popularity: <3.
  • SRU: 8. SciTE 3.6.1 is a 1.7 MB download and 5.4 MB package when installed. Here is my ps mem table:
  • Overall: 8.

Website(s)

Vim

gVim 7.4.827 running under Moksha

gVim 7.4.827 running under Moksha

Background

Vim (short for ViIMproved) is a text editor that was first released in 1991 by Bram Moolenaar, as a clone of Bill Joy’s Vi text editor. It and GNU Emacs are seen as the most powerful free text editors available for experienced programmers. Vim is available as a command-line text editor, where users can edit text files from the command-line, or as a graphical text editor (which is called gVim). There is also a Qt-based GUI for Vim called Vim-Qt that is available via the Entropy Store. Compared to most text editors, Vim is far less intuitive and has a steep learning curve. For one, its keyboard shortcuts are far from conventional, with Ctrl+C for copy, Ctrl+V for paste, etc. not being available. Vim also has its own scripting language (Vim script) for adding functionalities to it.

Customizability

Vim is extensively customizable, for people with the required level of finesse in programming. There are also several extensions and other plugins available for it, from the internet.

Features

It has syntax-highlighting support for almost (if not every) every computer language. It also has several IDE-type features, like compiling source code from within it. Several other features can be added to it, for example, I wrote some of this post in Vim, using the Vimpress plugin. Several plugins are available in the app-vim Portage category.

Obtaining it

It is easy to obtain Vim (and gVim) on Sabayon using Entropy or Portage. To install Vim and gVim using Entropy, run:

root #  equo i -av app-editors/vim app-editors/gvim

whereas to install it with Portage run:

root #  emerge -av app-editors/vim app-editors/gvim

Disadvantages (Cons)

  • Steep learning curve, making it difficult to learn. If you run vimtutor from the command-line after installing it, you will be taken through a tutorial of how to use it, which can be helpful.

Advantages (Pros)

  • Easy to obtain it on Sabayon
  • Extremely customizable
  • Fairly light on system resources

Ratings

  • Availability: 8.
  • Beginner-friendliness: 2.
  • Customizability: 9-10.
  • Features: 10.
  • Popularity: 10.
  • SRU: 8-9. Vim 7.4.827 is a 1.3 MB download and takes up 3.1 MB when installed. gVim 7.4.827 is a 1.4 MB download and takes up 3.4 MB HDD space when installed. Vim-Qt 20150102-r1 is a 1.4 MB download and 3.4 MB package when installed. Here are my ps mem tables:


  • Overall: 8-9.

Website(s)

Poll

Comparison of SRU of the various Text Editors

TextEditors

Installing Atom on Sabayon

14 September 2015 Installation guides, Text editors 4 comments

Atom is a new (its first stable release was in June 2015) free cross-platform text editor by GitHub that is licensed under the MIT License. It is my favourite text editor as it is essentially Vim or Emacs for non-techies, that is, it has many of the same features that both Vim and GNU Emacs boast yet is simple enough that even an inexperienced technology user should be able to use it. There are pre-built binary packages available for the 64-bit versions of the more popular Linux distributions (such as Debian, Fedora, Linux Mint, openSUSE and Ubuntu), but for Sabayon Linux there is so far no Atom binaries available in the Entropy store. Consequently, Sabayon users must either install Atom using Portage (several overlays are available that contain Atom, although the main Gentoo overlay does not) or build Atom from source themselves.

Installing Atom from a binary package

I have recently (23 October 2015) set up a GitHub repository that provides information on how to install Atom from pre-compiled binary package(s) I upload to my Dropbox.

Installing Atom with Portage

To install Atom with Portage using the emc overlay (which I have chosen because it contains the greatest number of Atom ebuilds and seems to be frequently updated), run:

root #  layman -a emc
root #  emerge –sync && layman -S
root #  emerge app-editors/atom
root #  equo rescue spmsync && equo mask app-editors/atom

Building Atom Manually

Getting the dependencies

To install the dependencies for Atom, using Entropy, run:

root #  equo i nodejs libgnome-keyring gcc make dev-util/ninja fakeroot media-fonts/inconsolata

Getting the source code

Atom’s source code can be obtained via cloning its git repository or downloading tarball releases of its source code. If one intends to update Atom when new releases become available it is probably advisable to use git to get the source code.

To get the source code using git, run:

user $  cd ~
user $  git clone https://github.com/atom/atom
user $  cd atom
user $  git remote add upstream https://github.com/atom/atom
user $  git fetch -p
user $  git checkout $(git describe –tags git rev-list --tags --max-count=1)

To get the source code using wget, run:

user $  ver=1.0.19 #replace 1.0.19 with the version of Atom you are downloading
user $  cd ~
user $  wget -c https://github.com/atom/atom/archive/v$ver.tar.gz
user $  tar -xzf v$ver.tar.gz
user $  mv atom-$ver atom

Building Atom

To build Atom after installing the dependencies and getting the source code, run (from ~/atom):

user $  script/build
user $  sudo script/grunt install

The first of these lines may need to be repeated if errors are encountered.

Upgrading Atom

If one got the source code using git, then to upgrade Atom run:

user $  cd ~/atom
user $  git fetch -p
user $  git checkout $(git describe –tags git rev-list --tags --max-count=1)
user $  script/build
user $  sudo script/grunt install

alternatively, if you got the source code with wget, then to upgrade atom run:

user $  sudo rm -r ~/atom
user $  ver=1.0.19 #yet again, replace this with the version of Atom you want
user $  cd ~
user $  wget -c https://github.com/atom/atom/archive/v$ver.tar.gz
user $  tar -xzf v$ver.tar.gz
user $  mv atom-$ver atom
user $  cd atom
user $  script/build
user $  sudo script/grunt install

Known issues

I have noticed that upgrading using git, gave me the output:

Node: v0.12.7
npm: v2.13.3
Installing build modules…
Installing apm…
Installing modules ✓
Deduping modules ✓
Running “download-electron” task
Fatal error: Cannot find module ‘binary’

when I was upgrading from v1.0.11 to v1.0.13. I have reported this issue at the Atom GitHub repository. I ended up having to upgrade using the source code tarball method.

Entropy

As previously mentioned in this post, there currently is no Atom package in the Entropy repositories, but I have posted a request to add Atom to the Sabayon overlay (which is a prerequisite for it to be added to the Entropy repositories).

External Links