Atom 1.3.2 running under the Deepin Desktop Environment (DDE) on Manjaro Linux

Atom 1.3.2 running under the Deepin Desktop Environment (DDE) on Manjaro Linux

Text editors are essential programs for software developers and programmers in general, as they enable users to write and edit source code or markup files. They are popular tools used by both experienced and novice Linux users. In this post I will compare the various free and open-source text editors available for Manjaro and 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.

Also covered in this post are free and open-source integrated development environments (see here for a definition), or IDEs for short, which are essentially text editors with extra tools for programmers. Many of the IDEs compared here I have even less experience with than I do with standard text editors, due to the fact I am not a computer programmer.

On Sabayon there are over a dozen different text editors (see, for example, the category app-editors at gpo.zugaina.org) and IDEs (see the category dev-util) 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 programs also have their own target market, 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 (the first two of these lines ):

user $  eix-update
user $  eix-remote update
user $  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. IDEs can usually be found in the dev-util category, so to list those available in the Entropy repositories, run:

user $  equo search "dev-util"

to search all overlays (including the Portage Tree) run:

user $  eix -RCc "dev-util"
How to list the text editors in PkgBrowser

How to list the text editors in PkgBrowser

On Manjaro Linux many, if not all of these text editors/IDEs, are also available from the Arch User Repository (AUR) or the Manjaro repositories. Unfortunately, pacman, does not use categories for its packages, so one cannot use this to search for TEs/IDEs. One can, however, use the graphical PkgBrowser program, which can be installed using the command:

root #  pacman -S pkgbrowser

to show the text editors in the pacman repositories go to the Categories menu, press the app submenu and then the editor submenu under there.

Glossary

Acronyms

  • CE: Community Edition. Some programs have both community (usually indicated they are licensed under a GPL-compatible FOSS license) and proprietary (sometimes alternatively named like Ultimate Edition in the case of IntelliJ IDEA) editions.

Command-Line Interface

A command-line interface (CLI) or command-line interpreter is a type of user interface that allows users to interact with their computer by issuing a series of commands. On *nix systems the most common type of CLI are Unix shells.

Fork

In the field of software development a fork is when software developers take a copy of a project’s source code and start working on it independently of its previous developers. Proprietary software licenses do not usually allow for forks except with the expressed permission of the software’s previous developer(s). In the FOSS community forks are common due to the fact that FOSS licenses permit the creation of forks without the previous developer(s)’s permission.

Graphical User Interface

A graphical user interface (GUI) is a type of interface that allows users to interact with their computer using graphical icons and visual indicators. This is as opposed to command-line interfaces (CLIs) and textual user interfaces (TUIs), in which users interact with the computer by issuing lines of commands or by writing textual responses to prompts. The most notable type of GUI found on many *nix systems is that of a desktop environment like Cinnamon, GNOME, KDE, LXDE, MATE, Xfce, etc.

Integrated Development Environment

An Integrated Development Environment (IDE) is a program that provides users, supposedly comprehensive, facilities for software development. I used the word “supposedly”, to draw attention to the fact that the definition of comprehensive does vary quite substantially from IDE to IDE. IDEs are almost universally also text editors, and it is quite often difficult to distinguish the more feature-packed text editors from IDEs.

IDE Features

IDEs possess several features that are supposed to distinguish them from standard TEs, these features include:

  • In-built implementation support: in other words, the ability to implement (compile or interpret, depending on the programming language) the files being edited or created in the IDE.
  • Project Views: this is my way of saying that usually in IDEs you can navigate the contents of a project folder, editing each file therein without having to open up a new IDE window.

Text Editor

A Text editor (TE) is any program that can be used to edit text files, they are particularly invaluable to computer programmers because they can be used to edit software source code or document markup.

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/IDE.
  • Customizability: How customizable is the TE. Are there themes, plugins, extensions, etc. available for the TE? Is it possible to customize the TE/IDE with user-supplied scripts.
  • Features: What other features does the TE/IDE have? Like how many different computer languages does it offer syntax highlighting and auto-indentation for.
  • Obtaining it: how can one get the TE/IDE on Manjaro and 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.
  • Summary: 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/IDE on Manjaro and Sabayon. A score of 10 would mean that the text editor is pre-installed on a default Manjaro and 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/IDE? That is, how difficult would it be for me, a non-programmer, to get to know this TE/IDE enough to write scripts in it, within an hour of first trying it?
    • Customizability: how easily and extensively customizable the TE/IDE is.
    • Features: how extensive is the TE's syntax-highlighting cover of computer languages (that is, what proportion of computer languages can the TE/IDE do syntax highlighting for?). Does the TE/IDE also have IDE-type features such as in-built Python terminal, or shell terminal, etc?
    • MEWI: how much experience with this TE/IDE do I have? 1 will indicate I have no experience with the TE/IDE, aside from that required to get the screenshot at the start of this review. Consequently, all information in this review will be based on my background research using sources such as the program's homepage.
    • System resource usage (SRU): how much CPU/RAM does this TE/IDE use? How much disk space does it take up? How much brandwidth is taken up downloading it? All Manjaro-related information in this section will be specific to the 64-bit version of this OS. Yet again I will be using ps_mem to assess RAM usage on both Manjaro and Sabayon.
    • Overall: overall how satisfied am I with this TE/IDE?

Atom

Atom 1.3.2 running under DDE

Atom 1.3.2 running under DDE

Background

Atom (ES, GPO, PT ; AUM ; AW, ML, SW, WPFM, GR, IRC ) 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 Packages Repository Homepage](https://atom.io/packages), note the current count of packages (themes and plugins included) is 3,433.

Atom Packages Repository Homepage, note the current count of packages (themes and plugins included) is 3,433.

Atom is very customizable, via a grand total of over 3,400 themes and plugins that can be installed from the command-line, using the apm command, 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. A guide on how to do this can be found in Atom’s Flight Manual. For example, to help me write this blog I have been using the following ~/.atom/keymap.cson:

this is helpful because in order to bold text in a markdown file I merely need to select the text and press Ctrl+B. It also means that when I am editing HTML files, in order to wrap the code to make it easier to read, I merely press Ctrl+Alt+S.

Features

Atom has plugins for syntax highlighting and auto-indentation of most major computer languages including (each language is hyperlinked to its respective package description page, if and only if, said package does not come preinstalled on Atom):

and several others. It has packages that provide other features, including previews for markup languages such as HTML and Markdown (which comes preinstalled with Atom) and one that turns Atom into an excellent markdown writer. One package can even enable one to run Jekyll (the static site generator used to power The Hornery) from within Atom, I personally avoid it due to the fact it continuously creates popups whenever one saves any changes to a file in one’s Jekyll site directory and instead I use the terminal-plus package to run Jekyll from within a terminal in Atom. This also gives me more detailed debugging information when issues are encountered on my site. These packages make it very convenient for me to write The Hornery in Atom, which I did for over a year since I created the website in late 2015, although since 2017 I mostly use GVim to edit The Hornery.

Atom also has packages that give it IDE capabilities, including compiling and interpreting source code files from within Atom’s own interface as well as the ability to run git commands from within Atom (the later is provided by git-plus). It also has a package (mercurial) that provides support for managing Mercurial (hg) repositories, support for GNU Bazaar and Subversion repositories, from my understanding, is not yet available. I personally have installed the script package for the purpose of running Python scripts from within Atom, C/C++ developers may also wish to install the build or build-tools packages. One can also do Gentoo/Sabayon development in Atom using the language-gentoo package, specifically it is helpful in maintaining Portage overlays as it can create and update manifests without the need for opening up a terminal. It also provides syntax highlighting for ebuilds.

One package I like, that I would recommend if you wish to use Atom on more than one PC, but with the same packages on each PC, is package-sync. It reads a file, ~/.atom/packages.cson, and when it is run, it will install all packages listed in this cson file. To save all my Atom customizations (in ~/.atom) I use this GitHub repository. In it you can find my package.cson, keymap.cson, etc.

Obtaining It

Manjaro

Manjaro users must install Atom via the Arch User Repository (AUR), or via using my own PKGBUILD. At the time of writing the AUR contains five Atom packages, you can check to see if this statement has become outdated by going to here. These Atom packages are (bold is used to highlight keywords or points):

  • atom-editorAUR which builds a package for the latest stable release of Atom from source code. As it builds Atom from source code any momentary glitches in Internet connectivity can cause the build to fail, which would require one to start building the package again from scratch. My PKGBUILD is a more resilient version of this one, it will not fail due to momentary Internet connectivity issues.
  • atom-editor-binAUR which builds a package for the latest stable release of Atom from a precompiled Debian binary. This PKGBUILD tends to lag behind its source code counterpart, in terms of how soon it is updated after a new version of Atom comes out.
  • atom-editor-betaAUR which builds a package for the latest beta release of Atom from source code. This package cannot be installed simultaneously, on the same machine, as the atom-editor package. If you would like to install the latest beta release of Atom and the latest stable release of Atom, simultaneously, on the same machine I suggest you use the atom-editor PKGBUILD in the AUR, or my GitHub repository, and the atom-editor-beta PKGBUILD in my GitHub repository. My atom-editor-beta PKGBUILD is specifically designed so that its installed files do not conflict with the installed files of atom-editor, it also has the same “perseverance” of the atom-editor PKGBUILD, and should keep running even if it runs into momentary Internet connectivity issues.
  • atom-editor-beta-binAUR which builds a package for the latest beta release of Atom from its Debian binary package. This package can be installed simultaneously, on the same machine, as the atom-editor or atom-editor-bin package.
  • atom-editor-gitAUR which builds a package for the latest git snapshot of Atom from source code.

Sabayon

Recently, I have noticed that Atom in the Entropy repositories is usually updated within a week or so of me updating it in the sabayon overlay, so it should almost always be the latest version available. So to install it from the command-line one would merely run:

root #  equo i -av app-editors/atom

If, the version(s) of Atom in the Entropy repositories are significantly out-of-date I usually use the ebuild in my overlay, sabayon-tools to install it. The advantage of my ebuild over other ebuilds (including the one in the sabayon overlay, which I too help mantain) is that if you experience any momentary disruption of your Internet connection the other ebuilds may fail and you will have to start the build from the beginning again, while my ebuild will keep soldering on. This is unless the glitches in your Internet connection are so great in severity or length that it overwhelms my ebuild. To install Atom from this ebuild, run (this code assumes you have not added my overlay already, if you have, you may wish to substitute layman -a sabayon-tools with layman -s sabayon-tools):

root #  layman -a sabayon-tools
root #  emerge -av app-editors/atom::sabayon-tools

Building from Source Code

If you are using some other platform, or for whatever reason none of the methods previously mentioned is applicable I suggest you compile and install Atom from source code. Official instructions on this can be found here. To do this, you need to:

  • Get the source code. This can be done via git with: user $  git clone https://github.com/atom/atom and then checking out the latest release with:

    user $  cd atom
    user $  git fetch -p
    user $  git checkout $(git describe --tags `git rev-list --tags --max-count=1`)

    or via wget with (this will create a folder entitled atom with the 1.4.0 version of Atom’s source code — replace 1.4.0 in the following code with the version of Atom you want):

    user $  wget -cO- https://github.com/atom/atom/archive/v1.4.0.tar.gz > atom.tar.gz
    user $  tar -xz -f atom.tar.gz -C atom --strip-components=1

    Using git to get the source code takes up more hard drive space on your machine and uses up more bandwidth to download the source code, so odds are it will be best for you to use this wget approach to get the source code.

  • Compile the source code, by running: user $  script/build from within the atom directory (to get into it run cd atom). This step requires a reliable Internet connection, as otherwise it will fail and you will then need to re-run this step.

  • Install Atom by issuing the command user $  sudo script/grunt install

Advantages (Pros)

  • Easily and extensively customizable. Customization beyond that afforded by plugins provided by the Atom community must be done via writing plugins or scripts in CoffeeScript or JavaScript.
  • Intuitive and easy to learn.
  • Support for a wide range of different computer languages.
  • Displays directory structure in (left) side panel.
  • Very feature-packed, so feature packed it can be used as both a text editor and an IDE

Disadvantages (Cons)

  • Slow to start, although with the release of version 1.3.0 the start time has been supposedly cut by 20-30%.1 I personally have not noticed any such improvement, although I cannot say for certain I would even if there was such an improvement.

Summary

  • Availability: 8. Available from the official Entropy and pacman repositories.
  • Beginner-friendliness: ≥8. It is easy for beginners to use it, as it uses the same 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.
  • MEWI: ≥8. It is my default text editor.
  • System Resource Usage: 2-3. On Sabayon, Atom 1.3.2 is a 63.1 MB download, when it is installed it takes up a total space of 196.2 MB. Here is my ps mem table for running Atom 1.3.2 under MATE: on Manjaro Linux with version 1.3.2 of Atom I got this ps_mem table: and Atom 1.3.3 is a 201.1 MB program when installed. As for its download size well it is difficult for me to ascertain as the source code tarball is a 7.9 MB download for version 1.3.3, but as this package is installed from the AUR this means that the source code must be compiled too, which in itself also requires some downloading to occur.
  • Overall: 7-9. It is my favourite text editor, but it is still early days, its System Resource Usage and boot time are issues that are being worked on, new packages and themes are created every week.

Bluefish

Bluefish running under LXDE

Bluefish running under LXDE

Background

Bluefish (ES, GPO, PT ; AP ; ML, WK, WP ) 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

Manjaro

Bluefish is in the official pacman repositories for Manjaro so merely running:

root #  pacman -S bluefish

should install it.

Sabayon

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)

  • Support for non-web markup/programming languages is less than adequate.

Summary

  • Availability: >8. Available in the Entropy Store and from Portage
  • Beginner-friendliness: >4. Its keyboard shortcuts are intuitive (e.g., Ctrl+C to copy), beyond 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.
  • MEWI: 2. Fairly little experience with it, as I am not really into web development.
  • System Resource Usage: 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 on Sabayon: while on Manjaro Bluefish 2.2.7 is a 2.5 MB download and takes up 9.2 MB when installed. On Manjaro I got this ps_mem table:
  • Overall: ~7. Cannot be too confident as to this rating without using this text editor more.

Code::Blocks

Code::Blocks 13.12 running under Manjaro

Code::Blocks 13.12 running under Manjaro

Background

Code::Blocks (ES, GPO, PT ; AP ; WK, WPFM, GR, SF ) is a free and open-source cross-platform IDE for C, C++ and Fortran, that is written predominantly in C++ and to a lesser extent C. Its GUI is based on the wxWidgets toolkit. It is compatible with a wide range of different compilers, including GCC, Clang and Visual C++. Its development began ca. 2004.2

Customizability

It is extensible through plugins3, although I have limited experience with this program so I cannot really comment any further on this.

Features

It provides many of the advanced features of text editors like syntax highlighting, code folding, code completion, etc. for C, C++, Fortran and XML files.

Obtaining It

Manjaro

On Manjaro Code::Blocks can be very easily installed using pacman:

root #  pacman -S codeblocks

Sabayon

Code::Blocks is in the Entropy repositories and Portage Tree, consequently it can be installed via running:

root #  equo i -av dev-util/codeblocks

or:

root #  emerge -av dev-util/codeblocks

Advantages (Pros)

  • Cross-platform and able to run on Windows, OS X and Linux.
  • Fairly lightweight.
  • Feature-packed.
  • Easy to install on both distributions.

Disadvantages (Cons)

  • Only supports three programming languages: C, C++ and Fortran.
  • Fairly infrequently updated. As of the time of writing (12 January 2016) the latest version was released in December 2013. although a new version is expected to be released within the next month or so.

Summary

  • Availability: 8.
  • Beginner-friendliness: 6.
  • Customizability: >5. Not enough experience with it to be confident in this rating.
  • Features: 8.
  • MEWI: 1.
  • System Resource Usage: 4-5. Under Manjaro it is a 10.0 MB download and takes up 36.6 MB when installed. Here is my ps_mem table under Manjaro: . Under Sabayon, it is a 17.3 MB download and takes up 56.3 MB when installed. Here is my ps_mem table under Sabayon:
  • Overall: 8.

CodeLite

CodeLite 9.0.0 running under Manjaro

CodeLite 9.0.0 running under Manjaro

Background

CodeLite (ES, GPO, PT ; AU ; WPGR ) is a lightweight IDE for C, C++, PHP and Node.js that is written in C and C++. It does not support other programming languages, just these four.

Customizability

I have limited experience with CodeLite, so I cannot really comment with confidence on its customizability, but from what I understand it is designed to be lightweight and their website does not really mention any plugins or other customizations.

Features

It is fairly feature-packed (including git, subversion, GUI-building, etc. support) for the programming languages it supports.

Obtaining It

Manjaro

On Manjaro CodeLite must be installed from the AUR, by running:

user $  yaourt -S codelite

for example. At the time of writing this version of the latest (9.0).

Sabayon

An old (from February 2013) version of CodeLite (4.1.5770) is presently in the Entropy repositories, to install it run:

root #  equo i -av dev-util/codelite

alternatively, one can install it from an unofficial Portage overlay. At the time of writing the following overlays have the latest version of CodeLite:

  • kaa
  • lif
  • sabayon-tools I have tried building CodeLite using the kaa overlay’s ebuild and it failed due to a missing dependency: x11-libs/wxGTK:3.0. I would personally recommend using my overlay’s ebuild, because I have some control over it, so I can personally vouch for the fact it manages to build under Sabayon Linux.

Advantages (Pros)

  • Cross-platform able to run on Windows, OS X and Linux.
  • Fairly lightweight for an IDE.
  • Feature-packed

Disadvantages (Cons)

  • Support for only four programming languages.
  • Not in the official binary package repositories for either Manjaro or Sabayon.

Summary

  • Availability: 6. Not available in either distribution's official repositories, but can be installed via unofficial channels.
  • Beginner-friendliness: 8? Fairly limited experience with it, but it dos not seem to difficult to use. Its keymap is standard (e.g., Ctrl+C for copy) and intuitive.
  • Customizability: <5. From what I can tell, it is not customizable.
  • Features: >8.
  • MEWI: 1.
  • System Resource Usage: 4. The source code tarball of CodeLite 9.0 is about 69.5 MiB in size and as neither of these distributions have any binary packages from which CodeLite 9.0 can be installed, I cannot really say its installed size on Sabayon, while on Manjaro its size is 38.5 MiB. My ps_mem table on Sabayon is: while here is my ps_mem table on Manjaro:
  • Overall: 7-8. The fact it only supports these four programming languages is a weakness in my books.

Eclipse

Eclipse 4.5.1 running under Manjaro

Eclipse 4.5.1 running under Manjaro

Background

Eclipse (ES, GPO, PT ; AP ; AW, GW, WK, WPFM, IRC ) is an free and open-source Integrated Development Environment (IDE) written in Java, that is primarily used for programming in C, C++, Java and PHP, although it is possible to program in other languages (such as Lua, Perl and Python) using it too. These other languages usually require the installation of additional plugins, such as PyDevAUR for Python. It features in-built support for several compilers and interpreters.

Customizability

I do not have enough experience with Eclipse to make any comment on its customizability, but I do know that extra functionality is usually added using plugins. Many of these plugins are also in the Arch User Repository, but not in any official or unofficial Portage overlays.

Features

Eclipse features a text editor with syntax-highlighting, debugging and auto-complete support for most programming languages, in-built support for several compilers and interpreters, it also supports the use of project views, etc.

Obtaining It

Manjaro

Eclipse comes in several different versions. To install what is common to every version available in the Manjaro repositories one would simply issue the command:

root #  pacman -S eclipse-common

while, if you would like to list all Eclipse-related programs in the AUR and pacman repositories (most of which will be plugins) run:

user $  yaourt -Ss eclipse

Sabayon

On Sabayon, Eclipse should not be installed via the default package managers: Entropy and Portage, due to the fact that it is not in the Entropy repositories and the versions found in the official and unofficial Portage overlays are fairly out-of-date and present security risks. Instead I would recommend you go to the download page, https://eclipse.org/downloads/, find the version you want (which will depend on the specifics of the programming you would like to perform) and download the respective tarball. This tarball should contain the executable script for launching the program. Alternatively, you can install it using the new installer, assuming you have all the dependencies already installed. I cannot find a comprehensive list of dependencies for Eclipse, but based on this ebuild I would hazard a guess that they are:

>=virtual/jdk-1.6
x11-libs/gtk+:2
# Set this mirror variable, according to whichever mirror is closest and best for you
MIRROR=http://mirror.internode.on.net
wget -cqO- $MIRROR/pub/eclipse/oomph/epp/mars/R1a/eclipse-inst-linux64.tar.gz | tar -xz
cd eclipse-installer
./eclipse-inst

Update: Soon after I posted this, Francesco Ferro added dev-util/eclipse-sdk-bin (version 4.4.2, not quite the latest but it is fairly recent) to the sabayon overlay and then to the sabayon-limbo repository. To install it run:

root #  equo i -av dev-util/eclipse-sdk-bin

Advantages (Pros)

  • Written in Java, so it is incredibly cross-platform. Any Java-capable platform should be able to run Eclipse without a problem.
  • Easy to install, using the new installer.

Disadvantages (Cons)

  • Cannot be installed using Entropy.
  • Fairly heavy on system resource usage.
  • Slow to boot.
  • Extra plugins are required in order to program in other programming languages.

Summary

  • Availability: 7-8.
  • Beginner-Friendliness: 8. It seems fairly intuitive from my limited experience.
  • Customizability: 8. I have not used it, for anymore than a couple of minutes.
  • Features: 8.
  • MEWI: 1-2.
  • System Resource Usage: 1-2. The new installer is a 43.6 MB download and when installed Eclipse should take up at least 110 MB (exact figures are not available). Eclipse 4.5.1 (Java edition) ps_mem table on Sabayon is: On Manjaro it (specifically eclipse-common, which is the bare minimum of the IDE) is 108 MB, when installed, download size is 99.5 MB and this is my ps_mem table:
  • Overall: 8. Its high SRU is a significant disadvantage.

GNU Emacs

GNU Emacs running under Moksha

GNU Emacs running under Moksha

Background

GNU Emacs (ES, GPO, PT ; AP ; AW, GW, ML, WK, WPGR ) is an extensively-customizable text editor that is developed as part of 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

Manjaro

GNU Emacs is in the official pacman repository for Manjaro and can be installed using:

root #  pacman -S emacs

should install it.

Sabayon

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

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.

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.

Summary

  • 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.
  • MEWI: 3. Used to use it when it was the default TE of GNU Octave. Like Vim, I have found it fustrating in its unconventional keybindings.
  • System Resource Usage: 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: on Manjaro Linux, GNU Emacs 24.5 is a 36.3 MB download and takes up 99.4 MB when installed and gave this 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.

Eric Python IDE

Eric 6 running under Manjaro Linux

Eric 6 running under Manjaro Linux

Background

Eric Python IDE (ES, GPO, PT ; AP ; WPHR, SF ) is a free and open-source IDE that is developed by its own community of donation-sponsored developers. It is written in and used to program in Python. As of Eric version 6, it supports both Python 2 and Python 3.

Customizability

Eric has an extensive in-built plugin system. These plugins can be installed from within Eric’s interface by going to “Plugins→Plugin Repository” and selecting the required plugin. I have limited experience with it so I cannot comment on its customizability.

Features

Its features include support for managing Mercurial, Subversion and Git repositories, an integrated Python debugger, an interactive embedded Python shell with syntax-highlighting, syntax-highlighting for its text editor component, code autocompletion, etc.

Obtaining It

The platform-independent method of installing the latest Eric Python IDE release, is three-step:

  1. Download the latest tarball release of the Eric Python IDE from here at SourceForge
  2. Extract the contents of said tarball
  3. cd into the extracted directory of Eric
  4. Install the dependencies: PyQt5, QScintilla2, Qt5 and sip.
  5. Run root #  python install.py -b /usr/bin

Manjaro

On Manjaro Eric can be installed from the official pacman repositories with:

root #  pacman -S eric

this will install eric and eric-common packages, which have a net installed size of 46.6 MB and download size of approximately 8.1 MB.

Sabayon

The version of Eric in the Entropy repository is 4.5.25, which is very out-of-date. The versions of Eric in the Portage Tree are 4.5.25 and 5.5.2, which support only Python 2 and Python 3, respectively. These two versions are slotted differently, which means that they can both be installed simultaneously on the same machine. To install Eric 4.5.25 with Entropy run:

root #  equo i -av eric

while to install Eric 4.5.25 with Portage run:

root #  emerge -av eric:4

and to install Eric 5.5.2 with Portage run:

root #  emerge -av eric:5

It is possible to install the latest release of Eric from my Portage Overlay, sabayon-tools, by running (assuming this overlay is not currently added):

root #  layman -a sabayon-tools
root #  emerge -av dev-util/eric::sabayon-tools

To install the latest release of Eric on Sabayon, via following the general instructions outlined earlier, run:

user $  sudo equo i -av dev-python/pyqt5 dev-python/sip dev-python/qscintilla-python
user $  mkdir eric
user $  wget -c http://sourceforge.net/projects/eric-ide/files/latest/download -O- > eric.tar.gz
user $  tar -xz -f eric.tar.gz -C eric --strip-components=1
user $  sudo python install.py -b /usr/bin
user $  sudo install -Dm644 eric/eric6.desktop /usr/share/applications/eric6.desktop

Advantages (Pros)

  • Cross-platform
  • Supports both Python versions
  • Feature-packed for Python developers
  • Lightweight

Disadvantages (Cons)

  • The latest version is not available via the usual channels on Sabayon

Summary

  • Availability: 6-7.
  • Beginner-friendliness: 8.
  • Customizability: 8.
  • Features: 9.
  • MEWI: 2.
  • System resource usage: 8. On Manjaro its net download size is 8.1 MB and installed size of 46.6 MB, with a ps_mem table: . Under Sabayon, its installed size is 58.36 MB, the ps_mem table I got is: .
  • Overall: 8.

Geany

Geany 1.24.1 running under Moksha

Geany 1.24.1 running under Moksha

Background

Geany (ES, GPO, PT ; AP ; WK, WP ) 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

Manjaro

The latest version of Geany (1.26) is presently in the official pacman repositories of Manjaro, so running:

root #  pacman -S geany

should install it.

Sabayon

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

root #  equo i -av dev-util/geany

while to install it using Portage run:

root #  emerge -av dev-util/geany

The latest version of Geany in the Entropy Store is 1.24.1, while the latest version of Geany as of 18 January 2016 is 1.26 (released 15 November 2015) which is available from the Portage Tree.

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.

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.
  • The version of Geany in the Entropy Store is not the latest available

Summary

  • 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.
  • MEWI: 2. Fairly minimal, I have attempted to use it as a Python IDE, with limited success.
  • System Resource Usage: 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): while under Manjaro Linux Geany 1.26.2 is a 2.9 MB download and takes up 10.9 MB when installed. Geany 1.26.2 also gave this ps_mem table under Manjaro:
  • Overall: 8. Seems fairly good.

gedit

gedit running under Moksha

gedit running under Moksha

Background

gedit (ES, GPO, PT ; AP ; AW, ML, WPGR ) 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. Despite this it is also beginner-friendly and uses a standard keymap.

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

Manjaro

gedit is in the official pacman repositories of Manjaro so merely running:

root #  pacman -S gedit

should install it.

Sabayon

It is easy to obtain gedit on Sabayon, via either Entropy or Portage (and yes it is available in the Portage Tree). 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

Advantages (Pros)

  • Light on resources
  • Easy to obtain on Manjaro and Sabayon

Disadvantages (Cons)

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

Summary

  • Availability: >8.
  • Beginner-friendliness: >8.
  • Customizability: 6.
  • Features: 8.
  • MEWI: 3. I have used a few times, usually when I am using GNOME.
  • System Resource Usage: 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: under Manjaro Linux gedit is a 2.1 MB download and takes up 14.2 MB when it is installed. On Manjaro Linux version 3.18.2 of gedit gave this ps_mem table:
  • Overall: 8.

IntelliJ IDEA CE

IntelliJ IDEA Community Edition 15.0.2 running under Manjaro Linux

IntelliJ IDEA Community Edition 15.0.2 running under Manjaro Linux

Background

IntelliJ IDEA Community Edition (ES, GPO, PT ; AU ; WPFM, GR ) , which I will abbreviate as IJCE, is a free and open-source IDE developed by JetBrains that is designed specifically for Java development. It is the free counterpart to a proprietary IDE (called IntelliJ IDEA Ultimate Edition) that is more feature-packed with support for several additional programming languages. Its support for programming languages is extended by use of plugins — the ultimate edition can even get a Python plugin that will provide it with all the features of PyCharm Professional Edition, which is also developed by JetBrains.

Customizability

IntelliJ IDEA’s customizability is something I really cannot comment on, but I would imagine it is not very customizable due to the fact that this would defeat the purpose of JetBeans creating a community edition, which is to tempt users to buy the proprietary, Ultimate Edition, with the extra features it has as opposed to the community edition.

Features

Its features is something I cannot really comment on as I have limited experience with it, but it does not support any programming languages beyond a limited set including and related to Java like the Groovy programming language.

Obtaining It

IJCE is installable on both distributions covered in this post (theoretically these instructions should also work for most other distributions as well), via downloading the tarball (in .tar.gz format) from their website, extracting its contents and running the install script idea.sh in the bin/ folder within. If you want me to hold your hand through it, here we go, assuming the latest version of IntelliJ IDEA is still 15.02 when you try this, run:

user $  wget -cqO- https://d1opms6zj7jotq.cloudfront.net/idea/ideaIC-15.0.2.tar.gz | tar -xz
user $  cd idea-IC-143.1184.17/bin
user $  ./idea.sh

to get the installer for the program running. From there just follow the installer through its various steps and hopefully you should have IJCE install on your system.

Manjaro

On Manjaro an experimental version of IJCE is also installable from the AUR by running:

user $  yaourt -S intellij-idea-ce-eap

Sabayon

Update: soon after posting this Francesco Ferro added IntelliJ Community Edition 15.0.0 to the sabayon overlay, which was then added to the sabayon-limbo repository. To install it run:

root #  equo i -av dev-util/idea-community

Advantages (Pros)

  • Easy to install on any Linux platform.
  • Cross-platform

Disadvantages (Cons)

  • Cannot be installed via the usual methods on Manjaro and Sabayon.
  • Limited set of features and supported languages

Summary

  • Availability: 6. Not available in the Entropy or pacman repositories, but it is fairly easy to install the latest version from the official binary tarball releases.
  • Beginner-friendliness: 8? Seems fairly beginner-friendly.
  • Customizability: 6? Never used it, just guessing at its customizability.
  • Features: 6? Never used it, beyond to just take a screenshot of it.
  • MEWI: 1.
  • System Resource Usage: 1. The binary tarball for 15.0.2 is a 220 MB download, takes up about 450 MB when installed. This is my ps_mem table on Manjaro: Here is my ps_mem table under Sabayon:
  • Overall: 8.

jEdit

jEdit 5.2.0 running under Moksha

jEdit 5.2.0 running under Moksha

Background

jEdit (ES, GPO, PT ; AP ; ML, WPSR, SF ) 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 Manjaro and 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

Manjaro

On Manjaro jEdit can be installed with:

root #  pacman -S jedit

Sabayon

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

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

Disadvantages (Cons)

  • Heavy on system resources.

Summary

  • 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.
  • MEWI: 2. Not too much experience as it is quite SRU-heavy and is not feature-packed enough to justify me putting up with its SRU.
  • System Resource Usage: 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: jEdit 5.3.0 is a 2.9 download and takes up 29.2 MB when it is installed. It also gave this ps_mem table for jEdit 5.3.0:
  • Overall: 8. Seems like quite a useful text editor.

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 (ES, GPO, PT ; AP ; WPFM, GR ) 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 (ES, GPO, PT ; AP ; WPGR ) 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

Manjaro

Kate/KWrite can be installed using pacman, via running:

root #  pacman -S kate

and:

root #  pacman -S kwrite

, respectively.

Sabayon

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

Advantages (Pros)

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

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.

Summary

  • Availability: 8. Easy to get on Sabayon.
  • Beginner-friendliness: 9. 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.
  • MEWI: 2. Fairly minimal.
  • System Resource Usage: 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): Kate 15.12 while under Manjaro Linux takes up 7.1 MB when installed and is a 1.7 MB download. KWrite 15.12 takes up 203 KiB when installed and is a ~110 KiB download. Kate 15.12 and KWrite 15.12, respectively, gave these ps_mem tables:
  • Overall: 8-9. User-friendly and fairly customizable.

KDevelop

KDevelop 4.7.2 running under Manjaro Linux

KDevelop 4.7.2 running under Manjaro Linux

Background

KDevelop (ES, GPO, PT ; AP ; WPGR ) is an IDE that is part of the KDE Core Applications (KDE-CA) suite, unlike most other members of the KDE-CA suite it is still based on Qt4 and has not yet made the transition to KDE Frameworks 5 (KF5). Plans to transition to KF5 are currently in place for the near future. It is designed for C, C++, PHP and Python development.

Customizability

KDevelop is a program I have little experience with, but if you go to the “Settings” menu you can choose to modify the program’s keyboard shortcuts and other aspects of its behaviour.

Features

KDevelop features source code editor support (including syntax highlighting, autocompletion, autoindentation, etc.) for its four programming languages, it also has in-built support for git and compilers/interpreters for C, C++, PHP and Python.

Obtaining It

Manjaro

KDevelop is in Manjaro’s pacman repositories and can be installed by running the command:

root #  pacman -S kdevelop

Sabayon

KDevelop is in the Entropy repositories and Portage Tree. The version in the Entropy repositories is a developmental version based on Qt5. To install KDevelop on Sabayon, merely run:

root #  equo i -av dev-util/kdevelop

or:

root #  emerge -av dev-util/kdevelop

Advantages (Pros)

  • Easy to install.

Disadvantages (Cons)

  • Only supports four programming languages.
  • Not very customizable.

Ratings

  • Availability: 8.
  • Beginner-friendliness: 8.
  • Customizability: <5.
  • Features: 6.
  • MEWI: 1.
  • System Resource Usage: 4-5. On Manjaro KDevelop is a 4.9 MB download and takes up 12.2 MB when installed. Here is my ps_mem table under Manjaro: . Under Sabayon it is a 5.7 MB download and takes up 13.4 MB when installed. Here is my ps_mem table under Sabayon:
  • Overall: 8.

Komodo Edit

Komodo Edit 9.3.1 running under Manjaro Linux

Komodo Edit 9.3.1 running under Manjaro Linux

Background

Komodo Edit (ES, GPO, PT ; AU ; WPGR ) is a free and open-source text editor developed by ActiveState that is based on the Mozilla Platform. ActiveState also develops a proprietary IDE based on Komodo Edit called Komodo IDE. It supports several popular computer languages, including: Bash, C, C++, C#, CoffeeScript, CSS, Go, HTML, JavaScript, Less, Markdown, Perl, PHP, Python, Python3, etc.

Customizability

Komodo Edit can be customized and extended by use of packages that come in the .xpi file format (the same format used by Firefox extensions) and can be downloaded from http://komodoide.com/packages/. I have limited experience with Komodo Edit, so I do not know just how customizable it is by use of these extensions.

Features

Komodo Edit can have extra features added to it by use of plugins.

Obtaining It

Komodo Edit is built from precompiled binaries on both Manjaro and Sabayon, when installed via the methods outlined below.

Manjaro

Komodo Edit can be installed from the AUR by running:

user $  yaourt -S komodo-edit

Sabayon

Komodo Edit can be installed from the spike overlay, but it is a fairly old version (9.0.0, as of 18 January 2016 the latest version is 9.3.2). Presently my overlay, sabayon-tools, contains a newer Komodo Edit ebuild (9.3.2), but it is presently not working. The following code should install Komodo Edit on Sabayon:

root #  layman -a spike
root #  emerge -av app-editors/komodo-edit-bin::spike

Advantages (Pros)

  • Seems fairly feature-packed, something tells me that its feature set is likely similar to Atom.

Disadvantages (Cons)

  • Komodo Edit is fairly heavy on SRU.
  • Not in the pacman repos for Manjaro. Komodo Edit 9.3.2 cannot be installed from any ebuilds in the Layman remote list.

Ratings

  • Availability: 5. It can only be installed via unofficial methods like from PKGBUILDs for Manjaro users and from unofficial overlays for Sabayon users.
  • Beginner-friendliness: 8-9. Seems fairly beginner-friendly.
  • Customizability: 8. Seems fairly customizable.
  • Features: 7. Has the standard features of a text editor, but no IDE-type features.
  • MEWI: 1. Fairly minimal.
  • System Resource Usage: 2. Komodo Edit's install size on Manjaro is roughly 240.8 MB. Here is my ps_mem table on Manjaro: . Komodo Edit takes up 247.38 MB when installed on Sabayon and gave this ps_mem table:
  • Overall: 8.

Leafpad

Leafpad 0.8.18.1 running under Moksha

Leafpad 0.8.18.1 running under Moksha

Background

Leafpad (ES, GPO, PT ; AP ; WP ) 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

Manjaro

To install Leafpad on Manjaro merely run:

root #  pacman -S leafpad

Sabayon

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

Advantages (Pros)

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

Disadvantages (Cons)

  • It is very basic, has minimal customizability or features

Ratings

  • Availability: 8.
  • Beginner-friendliness: 10.
  • Customizablity: 0.
  • Features: 0.
  • MEWI: 2. Fairly minimal, just the occasional use when I am using LXDE.
  • System Resource Usage: 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: Leafpad 0.8.18 is a 79.5 KiB download and takes up 300 KiB when installed. It also gave the following ps_mem table:
  • Overall: 7. Fairly basic, but at least it is stable and easy to use.

Mousepad

Mousepad 0.4.0 running under Moksha

Mousepad 0.4.0 running under Moksha

Background

Mousepad (ES, GPO, PT ; AP ; WPGR ) 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

Manjaro

It can be easily installed by running:

root #  pacman -S mousepad

Sabayon

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

Advantages (Pros)

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

Disadvantages (Cons)

  • Basic, limited computer language support
  • Limited customization options

Ratings

  • Availability: 8. Easy to obtain on Sabayon
  • Beginner-friendliness: 10.
  • Customizability: 2-4.
  • Features: 4
  • MEWI: 1. Fairly minimal.
  • System Resource Usage: 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: Mousepad 0.4.0 is a ~210 KiB download and takes up 1.1 MiB when installed. It also gave the ps_mem table:
  • Overall: 7. The next step up from Leafpad, in complexity it is.

GNU nano

GNU nano 2.4.2 running within LXTerminal under Moksha

GNU nano 2.4.2 running within LXTerminal under Moksha

Background

GNU nano (ES, GPO, PT ; AP ; AW, GW, ML, WPSR ) 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

Manjaro

It is simple to install it on Manjaro, to do so merely run:

root #  pacman -S nano

it is found in Manjaro’s core repository, which makes it unique amongst text editors and IDEs on Manjaro, which are usually found in the community or extra repositories.

Sabayon

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

Advantages (Pros)

  • Easy to install on both Manjaro and Sabayon, likely to come preinstalled too.
  • It is also the lightest-weight of TEs/IDEs.

Disadvantages (Cons)

  • Command-line TE only, no advanced IDE-like features.
  • Lacks customizability.
  • Unintuitive keymap, can take a little getting used to.

Summary

  • Availability: 10.
  • Beginner-friendliness: 7. Fairly easy to get used to, but its keyboard shortcuts are not totally intuitive.
  • Customizability: 0?
  • Features: 8.
  • MEWI: 8. It is usually the first TE I go to, when I have a small text file I want to edit.
  • System Resource Usage: 10. On Sabayon, GNU nano 2.5.0 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: on Manjaro Linux, GNU nano 2.5.0 is a ~400 KiB download and takes up 2.1 MiB when installed. It also gave the 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.

NetBeans

NetBeans 8.1 running under Manjaro

NetBeans 8.1 running under Manjaro

Background

NetBeans (ES, GPO, PT ; AP ; AW, WPFM, HR ) is a cross-platform free and open-source IDE written in Java and developed by the Oracle Corporation. It was originally proprietary, but it has since been re-released under the CDDL and GNU GPL licenses. It can be used to write programs in C, C++, Java, PHP and HTML5.

Customizability

NetBeans is extensible via plugins provided at its website. I have little experience with it myself, but I suspect it is reasonably extensible, but not totally.

Features

NetBeans has the usual features of IDEs, including those of TEs like syntax highlighting, autocompletion and auto-indentation for its programming languages and the ability to compile programs written in it.

Obtaining It

Manjaro

On Manjaro installing NetBeans is as simple as running:

root #  pacman -S netbeans

Sabayon

On Sabayon installing NetBeans can be done using Entropy or Portage. To install NetBeans using Entropy run:

root #  equo i -av dev-util/netbeans

while to install it with Portage run:

root #  emerge -av dev-util/netbeans

Advantages (Pros)

  • It is extensible
  • Cross-platform and is able to run on any Java-capable platform.
  • Feature-packed

Disadvantages (Cons)

  • Fairly heavy on system resources
  • Fairly limited set of supported languages

Summary

  • Availability: 8. Easy to install on both Manjaro and Sabayon.
  • Beginner-friendliness: 8? Seems fairly intuitive, but it is used to program in fairly beginner-unfriendly programming languages.
  • Customizability: 6. Only customizable via plugins.
  • Features: 8.
  • MEWI: 1.
  • System Resource Usage: 1. ps_mem tables are: and for Manjaro and Sabayon, respectively. Manjaro's NetBeans 8.1 package is a 264 MB download and takes up 637.2 MB disk space when installed. Sabayon's NetBeans 8.0.2 package is a 39.2 MB download and takes up 56.3 MB disk space when installed.
  • Overall: 8.

Ninja-IDE

Ninja IDE 2.3.0 running under Manjaro

Ninja IDE 2.3.0 running under Manjaro

Background

Ninja IDE (ES, GPO, PT ; AP ; WPFM, GR ) is a free and open-source IDE that is designed specifically for Python development. It is developed by its own small donation-sponsored community of developers and only supports Python 2.

Customizability

Ninja IDE Preferences Window

Ninja IDE Preferences Window

Ninja-IDE can be customized via its preferences window. Its keyboard shortcuts can be customized in this interface. The theme can also be customized and fewer than 100 plugins can also be installed.

Features

Ninja-IDE seems to be fairly light on features, but it has basic TE features like syntax-highlighting and auto-indentation, it also has an embedded Python shell and can run Python scripts by the user right-clicking them and clicking the “Run” option.

Obtaining It

It is in the official binary package repositories of both Manjaro and Sabayon. It is possible to run it without install it too, by getting the source code and running <div class = "console">user $  python ninja-ide.py</div> from within its top-level directory. Although on platforms that use Python 3 as their default Python (that is invoked by the python command), such as Manjaro Linux and other Arch descendants, one will have to call Python 2 instead of Python in this command. Thus amending this command to:

user $  python2 ninja-ide.py

Manjaro

Ninja-IDE can be installed on Manjaro by running:

root #  pacman -S ninja-ide

Sabayon

It can be installed on Sabayon by running:

root #  equo i -av dev-util/ninja-ide

or:

root #  emerge -av dev-util/ninja-ide

Advantages (Pros)

  • It is easily installable via binary packages on both Manjaro and Sabayon.
  • Fairly lightweight

Disadvantages (Cons)

  • Does not support many programming languages

Summary

  • Availability: 8. Easily installable on both platforms.
  • Beginner-friendliness: 8. Pretty intuitive, but its default keymap is a little unconventional with Ctrl+Alt+C for copy.
  • Customizability: 6.
  • Features: 6.
  • MEWI: 1-2. A little experience I have gained running a mathematics Python script in it.
  • System Resource Usage: 7. For an IDE it is lightweight. It is a 1.0 MB download on Sabayon and takes up 4.0 MB when installed on this platform, here is my ps_mem table: . On Manjaro it is a 701 KB download and takes up 4.0 MB when installed, here is my ps_mem table:
  • Overall: 8.

pluma

pluma 1.8.1 running under Moksha

pluma 1.8.1 running under Moksha

Background

pluma (ES, GPO, PT ; AP ; WPGR ) 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

Manjaro

pluma can be installed from the pacman extra repository by running:

root #  pacman -S pluma

Sabayon

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

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 support for several computer languages

Disadvantages (Cons)

  • Customization options are fairly limited

Summary

  • 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.
  • MEWI: 2. Fairly minimal, because of how basic it is.
  • System Resource Usage: 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: under Manjaro, Pluma 1.12.1 is a 2.9 MiB download and takes up 15.1 MiB when installed. It also gave the following ps_mem table:
  • Overall: 8.

PyCharm CE

PyCharm Community Edition 5.0.3

PyCharm Community Edition 5.0.3

Background

PyCharm Community Edition (ES, GPO, PT ; AU ; WPGR ), or PyCharm CE, is a free and open-source IDE for Python development that is written in Java and developed by JetBrains (the same company that develops IntelliJ IDEA). As it is written in Java it is cross-platform and able to run on Linux, OS X and Windows. Like IntelliJ IDEA it has a proprietary counterpart that is more feature-packed than its FOSS equivalent that this section is about.

Customizability

It has a plugin repository, with plugins to extend its capabilities.

Features

It is not as feature-packed as its proprietary counterpart, but it does have a pretty good feature set. This includes the basic text editor amenities such as syntax highlighting for Python, auto-indentation, etc. as well as an in-built interpreter for Python that can be set to use whichever interpreter one has installed on one’s system.

Obtaining It

There is a 130 MB binary tarball available for installing PyCharm on any Linux platform that can be downloaded from here. Merely extract it and run the bin/pycharm.sh installer script inside.

Manjaro

PyCharm CE can be installed from the AUR by running:

user $  yaourt -S pycharm-community

Sabayon

PyCharm CE can be installed from the Tree using Portage, although it is not in the Entropy repositories at the moment. To install it using Portage run:

root #  emerge -av dev-util/pycharm-community

Advantages (Pros)

  • Cross-platform
  • feature-packed

Disadvantages (Cons)

  • Heavy on system resource usage

Summary

  • Availability: 6-7.
  • Beginner-friendliness: 8.
  • Customizability: 8.
  • Features: 8.
  • MEWI: 1.
  • System Resource Usage: 3. Fairly heavy. Its tarball is a 130 MB download, while on Manjaro when installed it takes up 242 MB. ps_mem on Manjaro gives: On Sabayon my ps_mem table is:
  • Overall: 8.

SciTE

SciTE 3.6.1 running under Moksha

SciTE 3.6.1 running under Moksha

Background

SciTE (ES, GPO, PT ; AP ; AW, WPHR, SF ) (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

Manjaro

It is easy to install SciTE on Manjaro using pacman. To do this run:

root #  pacman -S scite

Sabayon

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 like Manjaro.

Summary

  • 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.
  • MEWI: 4. I used to use it a lot when it was the default text editor used by GNU Octave (back when it was purely a CLI).
  • System Resource Usage: 8. SciTE 3.6.1 is a 1.7 MB download and 5.4 MB package when installed. Here is my ps mem table: SciTE 3.6.2 is a 1.2 MiB download and takes up 4.5 MiB when installed under Manjaro and it gave the ps_mem table:
  • Overall: 8.

Vim

gVim 7.4.827 running under Moksha

gVim 7.4.827 running under Moksha

Background

Vim (ES, GPO, PT ; AP ; AW, GW, WPHR ) (short for Vi-IMproved) 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 (which is its default and is invoked by running the vim command), 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 for Sabayon users, although unfortunately it does not seem to available for Manjaro users via the usual methods. 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. Here is a centralized database of Vim plugins, with search tools to help you find the plugin you want. There are several plugin managers available for Vim, some of the more popular ones include:

  • apt-vim, a cross-platform package manager that is written in Python. It is fairly easy to install, just go to the GitHub repository I just linked and follow the instructions.
  • vim-addon-manager, a plugin manager written almost entirely in VimL (the scripting language of Vim).
  • vim-update-bundles, a plugin manager written in Ruby, its development has ceased but it still seems to work fine.
  • Vimana, a cross-platform plugin manager that is written in Perl. It is fairly easy to install.
  • Vundle, a plugin manager written in VimL, it is probably the most popular package manager for Vim.

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 when my blog was powered by WordPress, using the Vimpress plugin. Several plugins are available in the app-vim Portage category and in PkgBrowser they can be found under the app→vim category.

Obtaining It

Manjaro

It is easy to install Vim on Manjaro using pacman. To do this run:

root #  pacman -S vim

if you want to be able to use the graphical user interface of Vim too run:

root #  pacman -S gvim

instead. The Vim and gVim packages cannot be installed simultaneously on the same machine. The gVim package, not only provides the graphical user interface, but it also provides the vim command for the command-line.

Sabayon

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

Advantages (Pros)

  • Easy to obtain it on Manjaro, Sabayon and virtually every *nix system.
  • Extremely customizable
  • Fairly light on system resources

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.

Summary

  • Availability: 8.
  • Beginner-friendliness: 2.
  • Customizability: 9-10.
  • Features: 10.
  • MEWI: 3. I have used it a little, mostly because of its Vimpress plugin, but it is so fustrating in its keymap I try to avoid it.
  • System Resource Usage: 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: under Manjaro gVim 7.4.944 is a 1.3 MiB download, takes up 2.8 MiB when installed and gave the following ps_mem tables (note Vim-Qt is not available from the official Manjaro repositories):
  • Overall: 8-9.

Poll

SRU Comparison

Footnotes

  1. Ben Ogle (11 November 2015). Atom 1.3. blog.atom.io: Atom. 

  2. Releases · jenslody/codeblocks. Retrieved 12 January 2016. 

  3. Plugins. Retrieved 12 January 2016.