Several text editors are available on Rivanna. Most provide features such as syntax coloring.

Vim (Vi iMproved)

Vim is an updated version of the early Unix text editor vi (for “visual”). It provides many extensions over plain vi. On Rivanna, the vi command is equivalent to the vim command. Vim is primarily utilized through keyboard commands. Once learned, it is extremely efficient to use. Many tutorials can be found online such as https://vim.fandom.com/wiki/Tutorial.


Emacs is another well-known Unix text editor. Like vim, it is largely operated through the keyboard. It can run a compiler and debugger so has some of the capabilities of an IDE. An introduction can be found here.


Nano is a simplified version of Emacs. It is easy to use and mostly self-explanatory. An introduction is available at its homepage.


Pluma is a simple WYSIWYG text editor provided by the MATE desktop. It is a variant of gedit and we provide an alias to it, so either name should work. It is very similar to Notepad++ on Windows and can do syntax coloring.


An Integrated Development Environment (IDE) provides more features than a text editor. They are nearly all graphical in nature and so must be used through a graphics-capable frontend. On Rivanna we recommend using them via FastX.


Geany is a lightweight IDE. In some respects it is intermediate between a text editor such as pluma and a full-featured IDE. It is capable of managing building C/C++/Fortran programs, including through make. It provides syntax coloring for many languages other than the three compiled languages. It is accessed through a module:

module load geany
ModuleVersion Module Load Command
geany1.33 module load geany/1.33
geany1.35 module load geany/1.35


Code::Blocks is a more powerful IDE for C/C++ and Fortran. It assumes that each coding project is in a separate folder. It manages compiling and can be utilized with the gdb debugger. Manuals are available here.

The module is codeblocks (without the colons)

module load codeblocks
ModuleVersion Module Load Command
codeblocks17.12 module load codeblocks/17.12


The Eclipse IDE is a sophisticated programming environment with a nontrivial learning curve. It is particularly powerful for Java programming. A guide to getting started is here.

ModuleVersion Module Load Command
eclipsecommitters module load eclipse/committers
eclipseoxygen-c module load eclipse/oxygen-c
eclipseoxygen-java module load eclipse/oxygen-java