Jay Taylor's notes

back to listing index


[web search]
Original source (github.com)
Tags: vim github.com
Clipped on: 2016-06-11

Skip to content
An VIM-inspired filemanager for the console http://ranger.nongnu.org/
Python Other
Latest commit c256b5d 5 days ago Image (Asset 2/3) alt= stepshal committed with Make exactly one space after comma
doc merge setting "relative_line_numbers" into "line_numbers" 18 days ago
examples examples/plugin_new_macro.py: fix spaces 9 days ago
ranger Make exactly one space after comma 5 days ago
scripts added scripts directory. rifle is now installed to /usr/bin/ 4 years ago
tests Make exactly one space after comma 5 days ago
.gitignore gitignore install_log.txt generated by make install 3 months ago
AUTHORS VCS: Fix python2 compatibility 4 months ago
CHANGELOG.md CHANGELOG: typo 7 months ago
CONTRIBUTING.md added CONTRIBUTING.md 15 days ago
HACKING.md HACKING: document the COMPAT convention 5 months ago
Makefile Makefile: Don't fail build when py.test is not installed 3 months ago
README.md README: updated compatible python version numbers 5 months ago
ranger.py Fix mktemp invocation to work on Mac OS X and Linux a year ago
setup.py Revert "Use setuptools if present" 5 months ago


ranger v.1.7.2

ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with "rifle", a file launcher that is good at automatically finding out which program to use for what file type.

Image (Asset 3/3) alt=

This file describes ranger and how to get it to run. For instructions on the usage, please read the man page. See HACKING.md for development specific information. For configuration, check the files in ranger/config/ or copy the default config to ~/.config/ranger with ranger's --copy-config option. The examples/ directory contains several scripts and plugins that demonstrate how ranger can be extended or combined with other programs. These files can be found in the git repository or in /usr/share/doc/ranger.

A note to packagers: Versions meant for packaging are listed in the changelog on the website.


Design Goals

  • An easily maintainable file manager in a high level language
  • A quick way to switch directories and browse the file system
  • Keep it small but useful, do one thing and do it well
  • Console based, with smooth integration into the unix shell


  • UTF-8 Support (if your python copy supports it)
  • Multi-column display
  • Preview of the selected file/directory
  • Common file operations (create/chmod/copy/delete/...)
  • Renaming multiple files at once
  • VIM-like console and hotkeys
  • Automatically determine file types and run them with correct programs
  • Change the directory of your shell after exiting ranger
  • Tabs, Bookmarks, Mouse support


  • Python (tested with version 2.6, 2.7, 3.1-3.5) with the "curses" module and (optionally) wide-unicode support.
  • A pager ("less" by default)


  • The "file" program for determining file types
  • The python module "chardet", in case of encoding detection problems
  • "sudo" to use the "run as root"-feature
  • w3m for the "w3mimgdisplay" program to preview images

Optional, for enhanced file previews (with "scope.sh"):

  • img2txt (from caca-utils) for ASCII-art image previews
  • highlight for syntax highlighting of code
  • atool for previews of archives
  • lynx, w3m or elinks for previews of html pages
  • pdftotext for pdf previews
  • transmission-show for viewing bit-torrent information
  • mediainfo or exiftool for viewing information about media files


Use the package manager of your operating system to install ranger. Note that ranger can be started without installing by simply running ranger.py.

To install ranger manually:

normalsudo make install

This translates roughly to:

normalsudo python setup.py install --optimize=1 --record=install_log.txt

This also saves a list of all installed files to install_log.txt, which you can use to uninstall ranger.

Getting Started

After starting ranger, you can use the Arrow Keys (or hjkl) to navigate, Enter to open a file or type Q to quit. The third column shows a preview of the current file. The second is the main column and the first shows the parent directory.

Ranger can automatically copy default configuration files to ~/.config/ranger if you run it with the switch --copy-config. (see ranger --help for a description of that switch.) Also check ranger/config/ for the default configuration.