Guía Completa de Ranger

Fecha de publicación

30 de diciembre de 2025

Fecha de última modificación

13 de julio de 2026

Resumen
Ranger es un gestor de archivos basado en consola altamente eficiente, diseñado con una fuerte inspiración en los atajos de teclado de Vim y una filosofía minimalista. Esta guía completa explora en detalle su instalación en diferentes sistemas operativos, configuración inicial y avanzada, estructura de archivos de configuración (rc.conf, rifle.conf, scope.sh, commands.py), así como la personalización profunda mediante mapeos de teclado, comandos personalizados en Python y plugins. Se detallan las características principales que lo distinguen; navegación multi-columna, previsualización automática de múltiples tipos de archivo (texto, código, imágenes, PDFs, videos, comprimidos), gestión inteligente de archivos mediante rifle, soporte de pestañas, marcadores, renombrado masivo, integración con el shell y capacidades de preview mejoradas mediante herramientas externas. La guía incluye referencias prácticas de atajos fundamentales y avanzados, ejemplos de configuración realistas, soluciones a problemas comunes, trucos de productividad y recomendaciones para integrar Ranger en flujos de trabajo diarios de usuarios de terminal (especialmente aquellos familiarizados con Vim/Neovim). Dirigida tanto a usuarios noveles que buscan reemplazar gestores gráficos tradicionales, como a usuarios avanzados que desean optimizar y extender al máximo esta poderosa herramienta de gestión de archivos en entornos Linux.
Palabras clave

Vim, Ranger, File Manager

Operating System

¿Qué es Ranger?

Ranger es un gestor de archivos de consola con:

Filosofía de Diseño

Características Principales

1 Instalación

1.1 Desde Repositorios

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install ranger

Fedora:

sudo dnf install ranger

Arch Linux:

sudo pacman -S ranger

macOS (Homebrew):

brew install ranger

1.2 Desde PyPI

pip install ranger-fm
# O mejor con pipx (entorno aislado)
pipx install ranger-fm

1.3 Desde Código Fuente

git clone https://github.com/ranger/ranger.git
cd ranger
sudo make install

1.4 Verificar Instalación

ranger --version

1.5 Dependencias Opcionales

Para habilitar todas las funcionalidades de previsualización y análisis de archivos en ranger, se recomienda instalar las siguientes dependencias según tu distribución.

1.5.1 Para Debian / Ubuntu / derivados

# Básico (casi imprescindible)
sudo apt install file

# Resaltado de sintaxis (elige uno o varios)
sudo apt install highlight
sudo apt install bat
# pygments vía pip si prefieres la versión python:
# pip install --user pygments

# Imágenes (elige según tu terminal)
sudo apt install w3m w3m-img           # Método clásico
sudo apt install caca-utils            # Arte ASCII alternativo
# kitty / wezterm / alacritty → mejor con ueberzugpp

# Conversión y procesamiento de imágenes
sudo apt install imagemagick

# Archivos comprimidos
sudo apt install atool unrar p7zip-full

# PDFs
sudo apt install poppler-utils

# Miniaturas de video
sudo apt install ffmpegthumbnailer

# Información de medios
sudo apt install mediainfo

# Idiomas y codificación especial
sudo apt install python3-chardet
pip install --user python-bidi        # Para árabe, hebreo, etc.

# Convertir SVG
sudo apt-get install librsvg2-bin

1.5.2 Para Arch Linux / Manjaro / derivados

# Básico (casi imprescindible)
sudo pacman -S file

# Resaltado de sintaxis (elige uno o varios)
sudo pacman -S highlight
sudo pacman -S bat
# pygments vía pip si prefieres:
# pip install --user pygments

# Imágenes (elige según tu terminal)
sudo pacman -S w3m libcaca             # Método clásico + ASCII
sudo pacman -S ueberzugpp              # Muy recomendado (mejor que w3m)
# kitty / wezterm → soporte nativo excelente

# Conversión y procesamiento de imágenes
sudo pacman -S imagemagick

# Archivos comprimidos
sudo pacman -S atool unrar p7zip

# PDFs
sudo pacman -S poppler

# Miniaturas de video
sudo pacman -S ffmpegthumbnailer

# Información de medios
sudo pacman -S mediainfo

# Idiomas y codificación especial
sudo pacman -S python-chardet
sudo pacman -S python-bidi             # Para textos RTL (árabe, hebreo...)

# Convertir SVG
sudo pacman -S librsvg

1.5.3 Instalación recomendada mínima (elige según tu caso)

Usuario de Arch + kitty/wezterm:

sudo pacman -S file highlight bat imagemagick ffmpegthumbnailer \
poppler mediainfo ueberzugpp
# Opcional pero muy útil:
sudo pacman -S atool unrar p7zip python-bidi python-chardet

Usuario de Ubuntu + terminal clásico:

sudo apt install file highlight imagemagick ffmpegthumbnailer \
poppler-utils mediainfo w3m w3m-img atool unrar p7zip-full python3-chardet
# Opcional: pip install --user python-bidi

2 Configuración Inicial

2.1 Generar Archivos de Configuración

Ranger puede copiar automáticamente los archivos de configuración por defecto:

# Copiar todas las configuraciones
ranger --copy-config=all

# Copiar archivos específicos
ranger --copy-config=rc          # Configuración principal
ranger --copy-config=rifle       # Configuración de rifle
ranger --copy-config=scope       # Script de previsualización
ranger --copy-config=commands    # Comandos personalizados

2.2 Ubicación de Archivos

Los archivos de configuración se encuentran en:

~/.config/ranger/
├── rc.conf           # Configuración principal y atajos
├── rifle.conf        # Lanzador de archivos
├── scope.sh          # Script de previsualización
├── commands.py       # Comandos personalizados (Python)
├── commands_full.py  # Comandos adicionales
└── plugins/          # Directorio para plugins

2.3 Primer Lanzamiento

ranger

Al iniciar ranger por primera vez:

  • Se abre en el directorio actual
  • Muestra tres columnas: padre, actual, previsualización
  • Usa las flechas o hjkl para navegar

3 Interfaz y Navegación Básica

3.1 Estructura de la Pantalla

┌─────────────────────────────────────────────────────────┐
 Directorio Padre │ Directorio Actual │ Previsualización │
                  │                   │                  │
  parent/         │ > archivo1.txt    │ Contenido del    │
  current/        │   archivo2.py     │ archivo1.txt...  │
  sibling/        │   carpeta/        │                  │
                  │   imagen.png      │                  │
                  │                   │                  │
├─────────────────────────────────────────────────────────┤
 Barra de Estado: PWD, permisos, tamaño, fecha           │
└─────────────────────────────────────────────────────────┘

3.2 Columnas

  1. Columna Izquierda: Contenido del directorio padre
  2. Columna Central: Directorio actual (principal)
  3. Columna Derecha: Previsualización del archivo/directorio seleccionado

3.3 Barra de Estado

Muestra información del archivo seleccionado:

  • Permisos (rwxr-xr-x)
  • Usuario y grupo propietario
  • Tamaño del archivo
  • Fecha de modificación
  • Ruta completa del directorio actual

4 Atajos de Teclado Fundamentales

4.2 Movimiento Rápido

Tecla Acción
gg Ir al inicio de la lista
G Ir al final de la lista
H Ir al inicio de la pantalla visible
M Ir a la mitad de la pantalla visible
L Ir al final de la pantalla visible
{ Subir una página
} Bajar una página
Ctrl+u Media página arriba
Ctrl+d Media página abajo
Ctrl+b Página completa arriba
Ctrl+f Página completa abajo

4.3 Salir y Ayuda

Tecla Acción
q Salir de ranger
Q Salir sin cambiar directorio
? Abrir manual de ayuda
W Ver log de ranger

6 Operaciones con Archivos

6.1 Copiar, Cortar y Pegar

Tecla Acción
yy Copiar (yank) archivo seleccionado
dd Cortar (cut) archivo seleccionado
pp Pegar archivo
po Pegar sobrescribiendo
pP Pegar creando enlaces simbólicos
pO Pegar enlaces simbólicos sobrescribiendo
pl Pegar creando enlaces duros (hardlinks)
pL Pegar enlaces duros con nuevo nombre
ud Deshacer (undo) operación de cortar
uy Deshacer (undo) operación de copiar

6.2 Eliminar

Tecla Acción
dD Eliminar archivo (pide confirmación)
dT Mover a papelera (si está configurada)

6.3 Crear y Editar

Tecla Acción
:touch nombre Crear archivo nuevo
:mkdir nombre Crear directorio nuevo
i Mostrar nombre del archivo actual
E Editar archivo con editor por defecto
cw Renombrar archivo (change word)
a Renombrar - cursor al final
A Renombrar - cursor después de extensión
I Renombrar - cursor al principio

6.4 Permisos y Propiedades

Tecla Acción
= Mostrar permisos en notación chmod
+<permisos> Añadir permisos (ej: +x)
-<permisos> Quitar permisos (ej: -w)

Ejemplos:

+x    # Añadir permiso de ejecución
-w    # Quitar permiso de escritura
=755  # Establecer permisos exactos

7 Selección Múltiple

7.1 Seleccionar Archivos

Tecla Acción
Space Marcar/desmarcar archivo y bajar
v Invertir selección de todos los archivos
V Entrar en modo visual (selección continua)
uv Desmarcar todos los archivos

7.2 Modo Visual

En modo visual (V):

  • j/k - Extender selección arriba/abajo
  • gg/G - Seleccionar hasta inicio/final
  • o - Cambiar punto de anclaje de selección

7.3 Operaciones con Múltiples Archivos

Una vez seleccionados:

  • yy - Copiar todos los seleccionados
  • dd - Cortar todos los seleccionados
  • dD - Eliminar todos los seleccionados
  • :bulkrename - Renombrar múltiples archivos en editor

7.4 Renombrado Masivo

# Seleccionar archivos con Space
# Ejecutar:
:bulkrename

# Se abre tu editor con lista de archivos
# Edita los nombres
# Guarda y cierra
# Ranger renombra los archivos automáticamente

8 Búsqueda y Filtrado

8.1 Búsqueda

Tecla Acción
/ Buscar hacia adelante
? Buscar hacia atrás
n Ir a siguiente resultado
N Ir a resultado anterior
ct Buscar en subdirectorios (content search)
cs Cancelar búsqueda

8.2 Filtrado

Tecla Acción
zf Filtrar archivos (solo mostrar coincidencias)
zz Cambiar configuración de filtro
zh Mostrar/ocultar archivos ocultos

8.3 Ordenamiento

Tecla Acción
on Ordenar por nombre
os Ordenar por tamaño
ot Ordenar por fecha de modificación
oa Ordenar por fecha de acceso
oc Ordenar por fecha de creación
oe Ordenar por extensión
ob Ordenar por nombre base (sin extensión)
or Invertir orden
oz Aleatorio
oS Ordenar naturalmente (números: 1, 2, 10 no 1, 10, 2)

9 Pestañas (Tabs)

9.1 Gestión de Pestañas

Tecla Acción
gn Crear pestaña nueva (tab new)
gt Ir a siguiente pestaña (tab next)
gT Ir a pestaña anterior (tab previous)
gc Cerrar pestaña actual (tab close)
Alt+1 Ir a pestaña 1
Alt+2 Ir a pestaña 2
Alt+9 Ir a pestaña 9
uq Restaurar pestaña cerrada

9.2 Movimiento Entre Pestañas

# Con números
1gt   # Ir a pestaña 1
3gt   # Ir a pestaña 3

# Navegación relativa
gt    # Siguiente
gT    # Anterior

10 Marcadores (Bookmarks)

10.1 Crear y Usar Marcadores

Tecla Acción
m<letra> Crear marcador (ej: ma)
'<letra> Ir a marcador (ej: 'a)
`<letra> Ir a marcador (igual que ’)
um<letra> Eliminar marcador

10.2 Marcadores Especiales

Marcador Ubicación
'' Posición anterior
`` Posición anterior (backtick)

Ejemplo de uso:

# Estás en /home/usuario/documentos
ma        # Crear marcador 'a'

cd /etc   # Navega a otro lugar

# Volver rápido
'a        # Regresa a /home/usuario/documentos

10.3 Ver Marcadores

:marks    # Ver todos los marcadores

11 Previsualización de Archivos

11.1 Configurar Previsualización

Tecla Acción
zp Activar/desactivar previsualización
zP Activar/desactivar previsualización de directorios
zi Activar/desactivar previsualización de imágenes
zv Cambiar modo de vista (Miller, Multipane)

11.2 Tipos de Previsualización

Texto:

  • Archivos de texto plano
  • Código fuente con resaltado de sintaxis
  • Archivos de configuración

Imágenes:

  • Previsualización ASCII (con caca-utils)
  • Previsualización real (con w3m-img, ueberzug, kitty, etc.)

Archivos Comprimidos:

  • Listado de contenido (.zip, .tar.gz, .rar, etc.)

Documentos:

  • PDFs (convertidos a texto con pdftotext)
  • Office documents (convertidos con herramientas apropiadas)

Media:

  • Videos (miniaturas con ffmpegthumbnailer)
  • Audio (metadatos con mediainfo)

11.3 Configurar scope.sh

El archivo ~/.config/ranger/scope.sh controla qué se previsualiza y cómo.

Ejemplo - Añadir tipo de archivo:

# En scope.sh, añadir nuevo caso
case "$mimetype" in
    application/json)
        jq . "$path" && exit 5
        cat "$path" && exit 5
        exit 1;;
esac

12 Comandos de Consola

12.1 Acceder a la Consola

Tecla Acción
: Abrir consola de comandos
! Ejecutar comando shell
s Abrir shell en directorio actual
S Abrir shell con escalada de privilegios

12.2 Comandos Principales

12.4 Operaciones de Archivos

:touch <nombre>            # Crear archivo
:mkdir <nombre>            # Crear directorio
:rename <nuevo_nombre>     # Renombrar
:delete                    # Eliminar con confirmación
:chmod <permisos>          # Cambiar permisos

12.5 Búsqueda

:search <patrón>           # Buscar archivos
:search_inc <patrón>       # Búsqueda incremental
:filter <patrón>           # Filtrar archivos mostrados

12.6 Pestañas y Marcadores

:tab_new                   # Nueva pestaña
:tab_close                 # Cerrar pestaña
:tab_move <n>              # Mover a pestaña n
:mark <letra>              # Crear marcador

12.7 Configuración

:set <opción> <valor>      # Establecer opción
:set show_hidden true      # Mostrar archivos ocultos
:set column_ratios 1,3,4   # Cambiar proporciones de columnas
:set colorscheme <nombre>  # Cambiar tema de colores

12.8 Ayuda y Sistema

:help                      # Abrir ayuda
:source <archivo>          # Cargar configuración
:shell <comando>           # Ejecutar comando shell
:quit                      # Salir

12.9 Comandos de Shell

# Ejecutar comando y ver output
!ls -la

# Ejecutar en segundo plano
!make &

# Ejecutar con privilegios
S
# O
!sudo <comando>

12.10 Autocompletado

  • Tab - Autocompletar comando/ruta
  • Shift+Tab - Autocompletar hacia atrás

13 Configuración Avanzada

13.1 rc.conf - Configuración Principal

Ubicación: ~/.config/ranger/rc.conf

13.2 Opciones Comunes

# Mostrar archivos ocultos
set show_hidden true

# Cambiar editor por defecto
set editor vim
# set editor nano
# set editor code

# Proporciones de columnas (padre:actual:previsualización)
set column_ratios 1,3,4

# Confirmación antes de eliminar
set confirm_on_delete multiple

# Mostrar números de línea
set line_numbers relative
# Opciones: false, absolute, relative

# Tema de colores
set colorscheme default
# Otros: jungle, snow, solarized

# Previsualización automática
set preview_files true
set preview_directories true
set preview_images true

# Método de previsualización de imágenes
set preview_images_method w3m
# Opciones: w3m, ueberzug, kitty, iterm2
set preview_images_method kitty

# Guardar historial
set save_console_history true

# Tamaño máximo de previsualización
set preview_max_size 0  # 0 = sin límite

# Mostrar información VCS (git)
set vcs_aware true

# Comportamiento del mouse
set mouse_enabled true

# Scroll automático
set autosave_bookmarks true
set autoupdate_cumulative_size false

# Padding alrededor de la selección
set padding_right true

13.3 Mapeos de Teclado Personalizados

# Mapear tecla a comando
map <tecla> <comando>

# Ejemplos:
map DD shell trash-put %s          # Mover a papelera
map x shell chmod +x %s            # Hacer ejecutable
map bg shell feh --bg-scale %s     # Establecer fondo de pantalla
map <C-t> shell alacritty &        # Abrir terminal
map <A-1> tab_move 1               # Ir a pestaña 1
map ee edit_file                   # Editar archivo
map et shell alacritty -e vim %s & # Editar en terminal nueva

# Desmap tecla
unmap dd  # Quitar mapeo de dd

13.4 Comandos de Shell

# Ejecutar comando con archivo actual
map X shell -f <comando> %f

# Variables disponibles:
# %f - archivo actual
# %d - directorio actual
# %s - archivos seleccionados
# %t - archivos etiquetados (tagged)
# %c - ruta completa del archivo actual

13.5 rifle.conf - Lanzador de Archivos

Ubicación: ~/.config/ranger/rifle.conf

Determina qué programa abre cada tipo de archivo.

Sintaxis:

<condición> = <comando>

Ejemplos:

# Texto plano
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
mime ^text, label pager  = "$PAGER" -- "$@"

# PDFs
ext pdf, has evince,  X, flag f = evince -- "$@"
ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has okular,  X, flag f = okular -- "$@"

# Imágenes
mime ^image, has feh,       X, flag f = feh -- "$@"
mime ^image, has gimp,      X, flag f = gimp -- "$@"
mime ^image, has sxiv,      X, flag f = sxiv -- "$@"

# Videos
mime ^video, has mpv,       X, flag f = mpv -- "$@"
mime ^video, has vlc,       X, flag f = vlc -- "$@"

# Audio
mime ^audio, has mpv,       X, flag f = mpv --no-video -- "$@"

# Archivos comprimidos
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz,  has atool = atool --list --each -- "$@" | "$PAGER"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"

# Documentos Office
ext docx?|xlsx?|pptx?|odt|ods|odp, has libreoffice, X, flag f = libreoffice "$@"

# HTML
ext html?, has firefox,  X, flag f = firefox -- "$@"
ext html?, has chromium, X, flag f = chromium -- "$@"

# Código fuente
ext py,  has python  = python -- "$1"
ext pl,  has perl    = perl -- "$1"
ext rb,  has ruby    = ruby -- "$1"
ext js,  has node    = node -- "$1"
ext sh,  has sh      = sh -- "$1"

Condiciones disponibles:

  • ext <extensión> - Extensión de archivo
  • mime <tipo> - Tipo MIME
  • name <patrón> - Nombre de archivo (regex)
  • has <programa> - Programa disponible
  • X - Requiere X11
  • flag f - Fork (ejecutar en segundo plano)
  • flag t - Terminal (ejecutar en terminal)

13.6 commands.py - Comandos Personalizados

Ubicación: ~/.config/ranger/commands.py

Crear comandos Python personalizados.

Ejemplo - Comando para comprimir:

from ranger.api.commands import Command

class compress(Command):
    def execute(self):
        """Comprimir archivos seleccionados"""
        import os
        
        # Obtener archivos seleccionados
        if self.fm.thisdir.marked_items:
            files = [f.basename for f in self.fm.thisdir.marked_items]
        else:
            files = [self.fm.thisfile.basename]
        
        # Nombre del archivo comprimido
        archive_name = self.rest(1) if self.rest(1) else "archive.tar.gz"
        
        # Comprimir
        self.fm.execute_command(f"tar czf {archive_name} {' '.join(files)}")
        self.fm.notify(f"Comprimido como {archive_name}")

class extract(Command):
    def execute(self):
        """Extraer archivo comprimido"""
        if self.fm.thisfile.extension in ['zip', 'tar', 'gz', 'bz2', 'xz']:
            self.fm.execute_command(f"atool -x {self.fm.thisfile.basename}")
            self.fm.notify("Archivo extraído")

class mkcd(Command):
    """Crear directorio y entrar en él"""
    def execute(self):
        from os.path import join, expanduser, lexists
        dirname = join(self.fm.thisdir.path, expanduser(self.rest(1)))
        if not lexists(dirname):
            os.makedirs(dirname)
            self.fm.cd(dirname)
        else:
            self.fm.notify("Directorio ya existe", bad=True)

Usar comandos personalizados:

:compress archivo.tar.gz    # Comprimir selección
:extract                    # Extraer archivo
:mkcd nueva-carpeta         # Crear y entrar

14 Rifle - El Lanzador de Archivos

14.1 ¿Qué es Rifle?

Rifle es el programa que ranger usa para determinar con qué abrir archivos. Es inteligente y tiene fallbacks.

14.2 Uso Básico

# Abrir archivo con rifle
rifle archivo.pdf

# Listar programas disponibles
rifle -l archivo.pdf

# Abrir con programa específico
rifle -p 2 archivo.pdf  # Usar opción 2 de la lista

14.3 Dentro de Ranger

Tecla Acción
r Abrir con programa (muestra opciones)
Enter o l Abrir con programa por defecto

14.4 Configurar Rifle

Editar ~/.config/ranger/rifle.conf

Prioridad: Primera coincidencia gana

# Ejemplo: Abrir PDFs con zathura si está disponible
ext pdf, has zathura, X, flag f = zathura -- "$@"

# Si no, con evince
ext pdf, has evince, X, flag f = evince -- "$@"

# Si no, convertir a texto
ext pdf, has pdftotext = pdftotext -l 10 -nopgbrk -q -- "$@" -

14.5 Flags de Rifle

  • f - Fork (ejecutar en segundo plano)
  • t - Terminal (ejecutar en terminal y esperar)
  • w - Wait (esperar que termine)
  • c - Close stdout/stderr
  • r - Requiere terminal, pero usa rifle.conf del sistema

15 Plugins y Extensiones

15.1 Ubicación de Plugins

~/.config/ranger/plugins/

15.2 Plugins Populares

15.3 1. ranger_devicons

Añade iconos a tipos de archivo.

git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons

Activar en rc.conf:

default_linemode devicons

15.4 2. ranger-archives

Mejorar manejo de archivos comprimidos.

git clone https://github.com/maximtrp/ranger-archives.git ~/.config/ranger/plugins/ranger-archives

15.5 3. fasd Integration

Integración con fasd (autojump rápido).

En rc.conf:

map f shell fasd -d | fzf --no-sort | xargs -I{} ranger --selectfile "{}"

15.6 4. fzf Integration

Búsqueda fuzzy con fzf.

En commands.py:

class fzf_select(Command):
    def execute(self):
        import subprocess
        command = "find -L . -path '*/\.*' -prune -o -print 2> /dev/null | fzf +m"
        fzf = self.fm.execute_command(command, stdout=subprocess.PIPE)
        stdout, stderr = fzf.communicate()
        if fzf.returncode == 0:
            fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n'))
            if os.path.isdir(fzf_file):
                self.fm.cd(fzf_file)
            else:
                self.fm.select_file(fzf_file)

Mapear en rc.conf:

map <C-f> fzf_select

15.7 Crear Plugin Propio

Estructura básica:

# ~/.config/ranger/plugins/mi_plugin.py
import ranger.api

class CustomCommand(ranger.api.commands.Command):
    def execute(self):
        # Tu código aquí
        self.fm.notify("Hola desde mi plugin!")

# Hook para inicialización
old_hook_init = ranger.api.hook_init

def hook_init(fm):
    # Inicialización personalizada
    fm.notify("Plugin cargado")
    return old_hook_init(fm)

ranger.api.hook_init = hook_init

16 Integración con Shell

16.1 Cambiar Directorio al Salir

Ranger puede cambiar el directorio de tu shell al salir.

16.2 Bash

Añadir a ~/.bashrc:

function ranger-cd {
    tempfile="$(mktemp -t tmp.XXXXXX)"
    ranger --choosedir="$tempfile" "${@:-$(pwd)}"
    test -f "$tempfile" &&
    if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then
        cd -- "$(cat "$tempfile")"
    fi  
    rm -f -- "$tempfile"
}

# Alias para usar
alias rr='ranger-cd'

16.3 Zsh

Añadir a ~/.zshrc:

function ranger-cd {
    tempfile="$(mktemp -t tmp.XXXXXX)"
    ranger --choosedir="$tempfile" "${@:-$(pwd)}"
    test -f "$tempfile" &&
    if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then
        cd -- "$(cat "$tempfile")"
    fi  
    rm -f -- "$tempfile"
}

alias rr='ranger-cd'

16.4 Fish

Añadir a ~/.config/fish/config.fish:

function ranger-cd
    set tempfile (mktemp -t tmp.XXXXXX)
    ranger --choosedir=$tempfile $argv
    if test -f $tempfile
        if test (cat $tempfile) != (pwd)
            cd (cat $tempfile)
        end
    end
    rm -f $tempfile
end

alias rr='ranger-cd'

16.5 File Picker

Usar ranger como selector de archivos.

Script:

#!/bin/bash
# ranger-picker.sh
tempfile="$(mktemp -t tmp.XXXXXX)"
ranger --choosefile="$tempfile"
if [ -f "$tempfile" ]; then
    cat "$tempfile"
    rm -f "$tempfile"
fi

Usar:

selected_file=$(ranger-picker.sh)
echo "Archivo seleccionado: $selected_file"

17 Trucos y Tips Avanzados

17.1 Preview de Archivos con Sintaxis

Instalar highlight o bat:

sudo apt-get install highlight
# O
cargo install bat

Editar scope.sh para usar bat:

case "$mimetype" in
    text/* | */xml)
        bat --style=numbers --color=always "$path" && exit 5
        exit 2;;
esac

17.2 Thumbnails de Videos

Instalar ffmpegthumbnailer:

sudo apt-get install ffmpegthumbnailer

Ya debería funcionar con scope.sh por defecto.

17.3 Preview de Imágenes (Terminal Compatible)

Con w3m:

sudo apt-get install w3m w3m-img

En rc.conf:

set preview_images true
set preview_images_method w3m

Con kitty (mejor calidad):

set preview_images_method kitty

Con ueberzug (mejor compatibilidad):

pip install ueberzug
set preview_images_method ueberzug

17.4 Búsqueda con FZF

Integrar búsqueda fuzzy:

En commands.py:

import subprocess

class fzf(Command):
    def execute(self):
        command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m"
        fzf = self.fm.execute_command(command, stdout=subprocess.PIPE)
        stdout, _ = fzf.communicate()
        if fzf.returncode == 0:
            fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n'))
            if os.path.isdir(fzf_file):
                self.fm.cd(fzf_file)
            else:
                self.fm.select_file(fzf_file)

Mapear:

map <C-f> fzf

17.5 Integración con Git

Ver estado de Git:

En rc.conf:

set vcs_aware true
set vcs_backend_git enabled

Ranger mostrará información de Git en archivos/directorios.

17.6 Archivos Grandes

Evitar lag con archivos grandes:

En rc.conf:

set preview_max_size 10485760  # 10MB
set max_history_size 20
set max_console_history_size 50

17.7 Abrir en Programa Externo

Crear atajos para programas específicos:

En rc.conf:

# Abrir en VS Code
map code shell code "$PWD"

# Abrir terminal aquí
map tt shell alacritty &

# Abrir file manager GUI
map fm shell nautilus "$PWD" &

# Ejecutar script
map ex shell chmod +x %s && ./%s

17.8 Sincronizar con Dropbox/Drive

# Crear marcador para cloud storage
map gdb cd ~/Dropbox
map gdv cd ~/Google\ Drive

17.9 Operaciones Bulk

Renombrar múltiples archivos:

# Seleccionar archivos con Space
# Ejecutar:
:bulkrename

# Se abre editor con lista
# Modificar nombres
# Guardar y cerrar

17.10 Preview de Archivos JSON/YAML

En scope.sh:

# JSON
json)
    jq --color-output . "${FILE_PATH}" && exit 5
    python -m json.tool -- "${FILE_PATH}" && exit 5
    ;;

# YAML
yaml)
    yq eval --colors -- "${FILE_PATH}" && exit 5
    ;;

18 Solución de Problemas

18.1 Problema: Imágenes no se previsualizan

Solución:

# Verificar método configurado
:set preview_images_method

# Cambiar método
:set preview_images_method w3m
# O kitty, ueberzug, iterm2

# Verificar instalación
which w3mimgdisplay

18.2 Problema: Colores incorrectos

Solución:

# Verificar TERM
echo $TERM

# Debería ser xterm-256color o similar
export TERM=xterm-256color

# En rc.conf cambiar colorscheme
set colorscheme default

18.3 Problema: Resaltado de sintaxis no funciona

Solución:

# Instalar highlight o pygments
sudo apt-get install highlight

# O
pip install pygments

# Verificar scope.sh está configurado correctamente

18.4 Problema: Ranger lento

Soluciones:

  1. Limitar tamaño de preview
  2. Desactivar preview de imágenes en directorios grandes
  3. Reducir historial
# En rc.conf
set preview_max_size 1048576  # 1MB
set preview_images false
set max_history_size 10

18.5 Problema: No cambia directorio del shell

Verificar que usas la función wrapper:

# Debe estar en ~/.bashrc o ~/.zshrc
function ranger-cd { ... }
alias rr='ranger-cd'

18.6 Problema: Archivos ocultos no se muestran

# Presionar
zh

# O en rc.conf
set show_hidden true

18.7 Problema: Rifle no encuentra programas

# Verificar PATH
echo $PATH

# Editar rifle.conf para usar rutas absolutas
ext pdf = /usr/bin/zathura -- "$@"

19 Referencia Completa de Atajos

19.2 Archivos

Tecla Acción
yy Copiar
dd Cortar
pp Pegar
po Pegar sobrescribiendo
dD Eliminar
cw Renombrar
a Renombrar (cursor al final)
A Renombrar (después de extensión)
I Renombrar (cursor al inicio)
E Editar con editor
i Inspeccionar archivo

19.3 Selección

Tecla Acción
Space Marcar/desmarcar
v Invertir selección
V Modo visual
uv Desmarcar todos

19.4 Búsqueda

Tecla Acción
/ Buscar adelante
? Buscar atrás
n Siguiente resultado
N Resultado anterior
f<letra> Buscar por primera letra

19.5 Pestañas

Tecla Acción
gn / Ctrl+n Nueva pestaña
gt / Tab Siguiente pestaña
gT / Shift+Tab Pestaña anterior
gc / Ctrl+w Cerrar pestaña
Alt+1...9 Ir a pestaña N

19.6 Marcadores

Tecla Acción
m<letra> Crear marcador
'<letra> Ir a marcador
um<letra> Eliminar marcador

19.7 Ordenamiento

Tecla Acción
on Por nombre
os Por tamaño
ot Por fecha modificación
oe Por extensión
or Invertir orden

19.8 Vista

Tecla Acción
zp Toggle preview
zP Toggle preview directorios
zi Toggle preview imágenes
zv Cambiar modo vista
zh Toggle archivos ocultos
zf Filtrar

19.9 Sistema

Tecla Acción
q Salir
Q Salir sin cd
R Recargar
? Ayuda
: Consola
! Shell command
s Shell
S Shell como root

19.10 Ir a (g)

Tecla Acción
gh Home
ge /etc
gu /usr
gd /dev
go /opt
gv /var
gm /media
gM /mnt
gr /
gR /

20 Recursos y Enlaces

20.1 Documentación Oficial

  • Sitio web: https://ranger.fm/
  • GitHub: https://github.com/ranger/ranger
  • Manual: man ranger o https://ranger.fm/man.html
  • Wiki: https://github.com/ranger/ranger/wiki

20.2 Tutoriales

  • Official User Guide: En el repositorio de GitHub
  • Arch Wiki: https://wiki.archlinux.org/title/Ranger

20.3 Comunidad

  • IRC: #ranger en Libera.Chat
  • Reddit: r/ranger
  • Issues: https://github.com/ranger/ranger/issues

20.4 Configuraciones de Ejemplo

  • Dotfiles repos: Buscar en GitHub “ranger config”
  • r/unixporn: Muchas configuraciones compartidas

21 Conclusión

Ranger es una herramienta poderosa que combina la eficiencia de los atajos de teclado estilo Vim con las capacidades modernas de previsualización y gestión de archivos.

Consejos finales:

  1. Aprende gradualmente: Comienza con los atajos básicos (hjkl, yy, dd, pp)
  2. Personaliza: Ajusta rc.conf a tu flujo de trabajo
  3. Practica: La memoria muscular viene con el uso
  4. Explora plugins: Hay muchas extensiones útiles
  5. Lee el código: Ranger es Python, fácil de extender

Atajos esenciales para memorizar:

  • hjkl - Navegación
  • yy/dd/pp - Copiar/cortar/pegar
  • Space - Seleccionar
  • gg/G - Inicio/fin
  • / - Buscar
  • zh - Mostrar ocultos
  • q - Salir

22 Publicaciones Similares

Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:

  1. Comandos De Informacion Windows
  2. Adb
  3. Limpieza Y Optimizacion De Pc
  4. Scrcpy
  5. Gestionar Versiones De Jdk En Kubuntu
  6. Instalar Tor Browser
  7. Crear Enlaces Duros O Hard Link En Linux
  8. Comandos Vim
  9. Guia De Git Y Github
  10. 00 Primeros Pasos En Linux
  11. 01 Introduccion Linux
  12. 02 Distribuciones Linux
  13. 03 Instalacion Linux
  14. 04 Administracion Particiones Volumenes
  15. Atajos De Teclado Y Comandos Para Usar Vim
  16. Instalando Specitify
  17. Gestiona Tus Dotfiles Con Gnu Stow
  18. Guia De Ranger
  19. Guia De Kitty Terminal
  20. Guia De Positron Ide
  21. Guia De Rsync

Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!

Reutilización

Cómo citar

Por favor, cita este trabajo como:
Achalma, Edison. 2025. Guía Completa de Ranger. accepted, December 30. https://chaska-x.netlify.app/operating-system/2025-12-30-guia-de-ranger/.