Technology moves fast! ⚑ Don't get left behind.🚢 Subscribe to our mailing list to keep up with latest and greatest in open source projects! πŸ†

Subscribe to our mailing list


A VIM-inspired filemanager for the console

Subscribe to updates I use ranger

Statistics on ranger

Number of watchers on Github 3268
Number of open issues 202
Average time to close an issue 13 days
Main language Python
Average time to merge a PR 12 days
Open pull requests 59+
Closed pull requests 51+
Last commit over 1 year ago
Repo Created about 10 years ago
Repo Last Updated over 1 year ago
Size 7.69 MB
Organization / Authorranger
Page Updated
Do you use ranger? Leave a review!
View open issues (202)
View ranger activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating ranger for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

ranger 1.9.1

Build Status

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.


This file describes ranger and how to get it to run. For instructions on the usage, please read the man page. See for development specific information.

For configuration, check the files in ranger/config/ or copy the default config to ~/.config/ranger with ranger --copy-config.

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.


  • Authors: see AUTHORS file
  • License: GNU General Public License Version 3
  • Website:
  • Download:
  • Bug reports:
  • git clone

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 (>=2.6 or >=3.1) 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

  • img2txt (from caca-utils) for ASCII-art image previews
  • highlight or pygmentize for syntax highlighting of code
  • atool, bsdtar and/or unrar 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
  • odt2txt for OpenDocument text files (odt, ods, odp and sxw)


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

To install ranger manually:

sudo make install

This translates roughly to:

sudo python 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 h j k l 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=( rc | scope | ... | all ). See ranger --help for a description of that switch. Also check ranger/config/ for the default configuration.

ranger open issues Ask a question     (View All Issues)
  • over 2 years Proposal: migration to standard logging library
  • over 2 years Systemwide configuration
  • over 2 years make :open_with a real curses menu
  • over 2 years How to map a key to do tasks and then execute gg to goto the top of the list?
  • over 2 years shell tab completion before %s
  • over 2 years Toggle between ranger and shell without loosing path
  • over 2 years No images in gnome terminal
  • over 2 years How to reload config files after saving them?
  • over 2 years What is the meaning of draw_bookmarks?
  • over 2 years Internal preview of text files with Windows line endings
  • over 2 years Displaying and changing file attributes (lsattr, chattr)
  • over 2 years FileInfo Linemode crashes Ranger on Python 2.6
  • over 2 years Ability to use custom image previewers along with w3m previewer
  • over 2 years True color support for themes
  • over 2 years shell -w receives no input when ranger is started from
  • over 2 years update_tmux_title bug
  • over 2 years alias from fish-shell not working in ranger :shell
  • over 2 years cw does not work
  • over 2 years macros embedded in filenames undergo expansion
  • over 2 years Statusbar percentage crashes on python 2.6.6
  • over 2 years find when system is slow crashed ranger
  • over 2 years terminal width issues in markdown preview
  • almost 3 years :set unavailable
  • almost 3 years Fastest possible directory swapping: `z` (`j`, `yo`)
  • almost 3 years Support vim-like macros
  • almost 3 years console readline
  • almost 3 years --choose* flags only work when selecting files within $PWD
  • almost 3 years Add a license file.
  • almost 3 years Search is not working if you build ranger in python 3.6
  • almost 3 years Suspending vim run from ranger breaks the screen
ranger open pull requests (View All Pulls)
  • Fix spaces around assigments
  • Raise error if started in a deleted directory
  • Save tabs on exit and restore when opening ranger
  • bookmarks: better fix for issue #447
  • Vcs hg improvements
  • xdg: Add support for XDG_DATA_HOME
  • Add the version compatibility checker (again)
  • Added command for jumping to first file/directory.
  • small_featuresβ„’
  • Merge command
  • restructed quick-jump/scout execution
  • make ImageDisplayer display images in separate thread
  • Add missing blank line after code object with docstring.
  • Add missing blank line after code object without docstring
  • Refactor and improve the TERMCMD handling
  • Define imports from star
  • Document -r flag for scout command
  • Add github issue and pull request templates
  • container.fsobject: put imports at the top of the file
  • Sane setting fallback values
  • Do not enable line_numbers when it is not set to any value
  • PAGER: split on " "
  • Proposed implementation of feature request #667
  • Add correct path to ranger on OS X
  • Change how column widths are calculated
  • [WIP] Add support for modifier combos + arrow keys
  • get_cumulative_size now also calculates the cumulated items count of …
  • container/bookmarks: use isinstance() instead of type() for a typecheck.
  • ext.spawn: Refactor
  • Tmux title reset
  • Cleanup the urxvt image previews
  • Rifle - better support for archives
  • Linting with pylint and flake8
  • added examples/
  • Cleaned up exit routine code
  • Remove sxiv_workaround_hook function
  • Add the :narrow command
  • Show only directories when using --choosedir
  • Implement the terminology-based image previews
  • Added aid window for displaying miscellaneous information
  • fix automatically_count_files false
  • Update bindings for media directories
  • Guard tmux title changes
  • Load system-wide configuration files.
  • :touch and :mkdir focus their argument
  • Bash completion instead of standard ranger mechanism
  • Completion list preview when shell command typing
  • Changes to the draw_border setting
  • Show current date and time in status bar
  • Image displayer improvements
  • Logfile arg
  • Improve file encoding detection for previews
  • Add new option to disable display of free disk space in statusbar
  • Kitty image preview
  • Deleted parent handled incorrectly
  • Prevent unconditional symlink resolution
  • Support cygwin UNC paths
  • Deprecate :bulkrename's custom implementation
  • Attempt to fix issue #1108 flag t problem
ranger questions on Stackoverflow (View All Questions)
  • Unable to create a key from Ranger KMS
  • Hyper-parameter tuning using pure ranger package in R
  • Getting failed with no key to store while starting Ranger KMS service via ambari
  • Variable importance with ranger
  • Ambari UI are not in sync with Ranger
  • Ambari - Ranger usersync
  • Ranger hdfs plugin not found in UI and not able to see audit logs
  • Ranger terminal find in files
  • Apache Knox: Advice on adding Ranger plugin
  • Scope of Apache Ranger policies for applications
  • How to restrict user from launching jobs on YARN using ranger
  • No Access Audit found Ranger
  • User sync in Apache Ranger
  • Not able to see Apache Ranger Access Audits
  • Ranger file manager - Access remote server?
  • How to completelly remove Ranger Admin Server and Ranger KMS from the Ambari 2.3 cluster
  • Issue accessing Hive JDBC via Knox and configuring Hive in Ranger
  • Range slider filter in ng-repeat (Angular Ranger)
  • Apache Ranger multiple policy repo for Hive Plugin
  • cygwin ranger with libcaca
  • Bad predictions from ranger compared to randomForest
  • Python: what does for r in ranger (self.rows) mean? In detail please.
  • Arduino: Unable to get ranger and Midi piano working together
  • Hortonworks Ranger credentials
  • PatchPasswordEncryption error during ranger-admin install
  • Ranger - file manager open_with WebStorm
  • HDFS Plugin for Apache Ranger
  • Migrate repositories and policies from xasecure to ranger
  • Date ranger picker in Sonata Admin Filters
  • how do I launch ranger from virtualenv
ranger list of languages used
Other projects in Python