Text editors

On Linux, you have a choice of text editors. Some are easyto-use but have limited functionality; others require training to use and take a long time to master, but offer incredible functionality.

Desktop graphical editors


On Raspbian, you'll find an editor called Leafpad. This is a simple editor which opens in a window like a normal application. It allows use of the mouse and keyboard, and has tabs and syntax highlighting.

You can use keyboard shortcuts, such as Ctrl + S to save a file and Ctrl + X to exit.


IDLE is a Python REPL and IDE, so you can write and edit Python code in a window and run it from there.

IDLE has independent windows and syntax highlighting. It's somewhat buggy, but it's generally fine for basic use.

You can use keyboard shortcuts like Ctrl + S to save a file, or Alt + P (previous command) and Alt + N (next command) in the REPL.

Note that IDLE uses Python 2 and IDLE 3 uses Python 3.


See Vim below.

Command-line editors


GNU Nano is at the easy-to-use end of command-line editors. It's installed by default, so use nano somefile.txt to edit a file, and keyboard shortcuts like Ctrl + O to save and Ctrl + X to exit.


Vi is a very old (c. 1976) command-line editor, which is available on most UNIX systems and is pre-installed on Raspbian. It's succeeded by Vim (Vi Improved), which requires installation.

Unlike most editors, Vi and Vim have a number of different modes. When you open Vi with vi somefile.txt, you start in command mode which doesn't directly permit text entry. Press i to switch to insert mode in order to edit the file, and type away. To save the file you must return to command mode, so press the Escape key and enter :w (followed by Enter), which is the command to write the file to disk.

To search for the word 'raspberry' in a file, make sure you're in command mode (press Escape), then type /raspberry followed by n and N to flick forwards/backwards through the results.

To save and exit, enter the command :wq. To exit without saving, enter the command :q!.

Depending on your keyboard configuration, you may find your cursor keys don't work. In this case, you can use the H-J-K-L keys (which move left, down, up, and right respectively) to navigate the file in command mode.


Vim is an extension of Vi and works in much the same way, with a number of improvements. Only Vi is installed by default so to get the full features of Vim, install it with APT:

sudo apt-get install vim

You can edit a file in Vim with vim somefile.txt. Vim also has a graphical version which opens in a window and allows interaction with the mouse. This version is installable separately:

sudo apt-get install vim-gnome

To use the graphical version of Vim, use gvim somefile.txt. You can save configuration in a .vimrc file in your user's home directory. To learn more about editing in Vi and Vim, you can run vimtutor and follow the tutorial.


Emacs is a GNU command-line text editor; it's powerful, extensible, and customisable. You can install it with APT:

sudo apt-get install emacs

You can use keyboard combination commands, such as Ctrl + X Ctrl + S to save and Ctrl + X Ctrl + C to close.