LinuxCommandLibrary

xplr

Explore directories with a customizable, hackable TUI

TLDR

Open a directory

$ xplr [path/to/directory]
copy

Focus on a file
$ xplr [path/to/file]
copy

Focus on a directory
$ xplr --force-focus [path/to/directory]
copy

Open a directory with specific files or directories selected
$ xplr [path/to/directory] [path/to/selected_file_or_directory1] [path/to/selected_file_or_directory2]
copy

SYNOPSIS

xplr [path]

PARAMETERS

[path]
    The directory to open xplr in. If omitted, it defaults to the current working directory.

DESCRIPTION

xplr is a highly customizable, hackable, and extensible file explorer for the command line. It's designed to provide a powerful and flexible way to interact with your file system. Unlike traditional file managers, xplr focuses on providing a robust API and customization options, allowing users to tailor the application to their specific needs and workflows.

It uses a functional programming paradigm, offering a reactive interface driven by Lua configuration. This empowers users to define custom keybindings, layouts, sorting rules, and much more. xplr can be extended through Lua plugins, further enhancing its capabilities and allowing for integration with other command-line tools. It prioritizes performance and efficiency, making it a useful tool for both casual users and experienced developers who demand a flexible and configurable file management solution from the terminal.

CAVEATS

Requires a Lua runtime environment to be installed. The configuration is primarily managed through Lua scripts, demanding some familiarity with the Lua language for advanced customization.

CONFIGURATION

xplr is configured using Lua files. The primary configuration file is usually located in ~/.config/xplr/init.lua, allowing users to customize nearly every aspect of the application, from keybindings and appearance to file filtering and sorting. Consult the official xplr documentation for a complete guide on customizing xplr using Lua.

KEYBINDINGS

xplr relies heavily on keybindings for navigation and actions. These can be customized in the configuration file. Default bindings include j/k for navigating up and down, h/l for navigating into/out of directories, and q for quitting.

EXTENSIBILITY

xplr's core strength is its extensibility. Users can create and load Lua plugins to add new functionality, integrate with external tools, and customize the behavior of the file manager. This makes it highly adaptable to a wide range of use cases.

HISTORY

xplr is a relatively new file manager written in Rust. It distinguishes itself from older file managers through its reactive and extensible architecture leveraging Lua for configuration. It is designed to be a modern approach to file management in the terminal.

SEE ALSO

ls(1), find(1), ranger(1), mc(1)

Copied to clipboard