Note

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Applications/Editors

From Funtoo
< Applications
Revision as of 11:19, March 21, 2017 by Fusion809 (talk | contribs) (→‎GNU Emacs: Adding mention of related packages.)
Jump to navigation Jump to search

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 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 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. Those using 64-bit systems that want the very latest Atom, should consider using the app-editors/atom-bin ebuild, which is presently only available from unofficial overlays, details can be found here, instead.

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.

Vim

Vim 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 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"