Difference between revisions of "Applications/Editors"

From Funtoo
Jump to navigation Jump to search
m (→‎Atom: Adding mention of how to install atom-bin from the sabayon-tools overlay. Why not Jorgicio? Its desktop config file has issues. Improving grammar)
m (→‎Atom: </code>-></console>)
Line 28: Line 28:
<console>
<console>
# layman -L
# layman -L
</code>
</console>


in order to fetch the Layman remote list.
in order to fetch the Layman remote list.

Revision as of 12:27, March 21, 2017

Text editors are perhaps the single most important piece of software to software developers. On Funtoo they should all be found in the app-editors category of the Funtoo tree. So, running:

user $ ls /usr/portage/app-editors

should show all text editors available from the Funtoo tree. To list all available applications in this category, including those in enabled third-party repositories (e.g., overlays added using Layman) run:

user $ emerge --search "%@^app-editors"

By default Funtoo comes with just two text editors pre-installed: nano and vi. Both are command-line text editors.

Atom

Atom screenshot from 2017-03-21.png

Atom is an open-source graphical text editor written in web languages (such as HTML, CSS, JavaScript and CoffeeScript), developed by GitHub and built on the Electron framework. Electron is essentially a form of the Chromium web browser that has been modified specifically so that it can function as a backbone for non-web browser apps that are written in web languages like the text editor, Atom. Atom is extensible (using extensions written in JavaScript or CoffeeScript, or a combination of the two), cross-platform (running on the three major desktop operating systems — Linux, macOS and Windows), yet beginner-friendly. Its chief disadvantages are that it is not available from the command-line, uses a comparatively large amount of system resources (including RAM) and takes a relatively long time to load upon startup.

The Atom version in the Funtoo tree tends to become out-of-date rather quickly, as the ebuild for it is rather complicated to update. On Funtoo Atom is only available, officially (from the Funtoo tree) for 64-bit systems. Those that want the very latest Atom, should consider using the app-editors/atom-bin ebuild, which is presently only available from unofficial overlays, details of which overlays one can install it from can be found here, instead. An example overlay that provides this package is sabayon-tools, to install app-editors/atom-bin from this overlay run:

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

if one has never run layman on your present Funtoo system run:

root # layman -L

in order to fetch the Layman remote list.

Bluefish

Bluefish is an open-source editor, primarily intended for web development. It is written mostly in C and is fairly lightweight. It is provided by app-editors/bluefish.

gedit

gedit is an open-source, graphical text editor that is primarily intended for beginners and is part of the GNOME core application suite. It is written in C and is minimally extensible. It is essentially a drop-in replacement for Notepad, except unlike Notepad it has syntax-highlighting support for a variety of different programming languages. It is provided by the app-editors/gedit package.

GNU Emacs

GNU Emacs is an open-source editor that was first developed by Richard Stallman, the founder of the GNU Project and its development began in 1985. It is written in C and its own programming language, Emacs Lisp. It is using Emacs Lisp that it can be extended, by use of extensions and modifying the configuration script ~/.emacs. Thanks to Emacs Lisp it is perhaps the single most extensible text editor available. It is so powerful, in fact, that it can be used to browse the web, read RSS feeds, play games, view emails, etc. It is fairly slow to startup, however, and uses a similar amount of RAM to Atom. It is provided by the app-editors/emacs package. It has both a version available from the command-line and a GUI. app-emacs contains some extensions for extended GNU Emacs. To list packages in that category run:

user $ emerge --search "%@^app-emacs"

it is easier to use for beginners than Vim, but it still has a steep learning curve. Several text editors exist that are similar to GNU Emacs and they usually have "emacs" in their name. For example, XEmacs is a fairly old fork of GNU Emacs, and is provided by the app-editors/xemacs package.

GNU nano

GNU nano is an open-source text editor written in C, that is included in Funtoo by default, perhaps because it is an easy-to-use, yet command-line text editor. It starts up very fast, uses very little RAM, although its customization options are very limited. It is provided by the app-editors/nano package in the Funtoo tree.

jEdit

jEdit is an open-source, cross-platform text editor written in Java. It has auto-indenting, syntax-highlighting support for over two hundred different programming languages, style-sheet languages and markup languages. It is provided by the app-editors/jedit package.

Leafpad

Leafpad is an open-source, lightweight text editor written in C and built on the GTK+ 2 toolkit. It has minimal features and does not even have syntax-highlighting. It is provided by app-editors/leafpad.

Mousepad

Mousepad is an open-source, lightweight text editor written in C and developed for Xfce. Like Leafpad it has minimal features and is provided by app-editors/mousepad.

Pluma

Pluma is a fork of gedit that is part of the MATE core application suite. Like gedit it also supports a wide range of different computer languages with syntax-highlighting support. It is provided by app-editors/pluma.

SciTE

SciTE is a cross-platform, open-source, graphical text editor written in C++ and built using Scintilla and GTK+. It mostly just provides syntax-highlighting support for the several languages it supports. It can be customized using Lua scripts and can be installed from the package app-editors/scite. It is very fast to start-up and uses minimal RAM.

Sublime Text

Sublime Text is also a very popular text editor, rivalling even Vim, the main disadvantage that it has is that it is proprietary in its license. Technically it is trialware, so one is given a free trial in which they can use any feature of it they want, but one is expected to buy it eventually. Despite this, one can keep using Sublime Text indefinitely, at least, at the moment (as, of course, the upstream developer may decided to stop allowing this) without buying it, the only limitation is that once every so many times one opens it, one will see a pop up reminding them to buy it. For further details please refer to the official website.

Sublime Text is written in C++ and to a lesser extent, Python, and is extensible using the plugins written in Python. It is very fast on startup and uses very little RAM yet boasts many of the same features as Atom. Namely, it is beginner-friendly, has support for a wide selection of different programming languages, is aesthetically pleasing (or at least, to most people, as this is a matter of opinion) and is extensible. It is provided by the app-editors/sublime-text package.

vi

vi is perhaps the original UNIX editor and was developed during the 1970s by Bill Joy. It was originally proprietary but was open-sourced in the 2002. It is written in C and incredibly fast on startup. Funtoo, like most Linux distributions, does not use this original version of vi to provide the vi command. Instead this command, on Funtoo, is provided by BusyBox (which symlinks to /usr/bin/vi), while most other distributions use Vim to provide vi. On Funtoo vi should be pre-installed so one should not need to emerge it oneself.

Vim

Vim (abbreviated from Vi IMproved) is perhaps the single most popular open-source text editor among developers using Linux, as while it is not beginner-friendly, once one becomes used to its unique keymap one can edit files using it very efficiently. It is intended to be an improvement on the original vi editor of UNIX that was written by Bill Joy. The original vi was proprietary so Vim was originally forked from an open-source clone of vi. It is written in C and Vim script (VimL), is blazing fast to start up, and is available from both the command-line and has a graphical user interface (GUI) called GVim. It can also be used for several other purposes too that are convenient to developers, including compiling programs, executing programs and executing shell commands. It is also extensively customizable with the use of plugins written in its own programming language, Vim script. Its main user configuration file is ~/.vimrc, other scripts affecting its behaviour can be found by running:

user $ vim --version | grep vimrc

The command-line version is provided by the Funtoo package app-editors/vim and its graphical counterpart is provided by app-editors/gvim. The app-vim category contains plugins to extend Vim. To view packages in this category run:

user $ emerge --search "%@^app-vim"