๐Ÿฑ Cat Selector

August 9, 2025 ยท View on GitHub

The fastest way to explore, select and concatenate files from your terminal.

Demo

Cat Selector is an interactive terminal tool for browsing, selecting, concatenating, and exporting text content in files and directories, combining multiple actions into a single seamless flow.

Why Cat Selector?

Unlike traditional file managers (ranger, lf) or basic commands (find, cat, less), Cat Selector provides:

  • True multi-selection across directories and files.
  • Instant generation and single concatenated text output.

A direct, visual, and straight-forward content selector and concatenated text file exporter.

Key Features

  • Split Navigation: Divided panels for directory, file navigation and file and subdirectories preview.
  • Multiple Selection: Quick selection of multiple files and subdirectories
  • Concatenation: Combine selected content into a single output.
  • Flexible Export:
    • Export to temporary file
    • Direct clipboard copying
  • Intuitive Navigation: Keyboard keybindings optimized for productivity

Keybindings

KeyAction
j / โ†“Move down
k / โ†‘Move up
Enter / lEnter directory
Esc / hGo to previous directory
sSelect/Deselect
aSelect/Deselect all
iToggle include subdirectories
oConcatenate and open in external editor
cConcatenate and copy to clipboard
TabSwitch panel
fGo to files panel
dGo to directories panel
/Search
qQuit

Technologies

Built in Go using:

Technical Features

  • Efficient handling of plain text files
  • Support for complex folder structures
  • Optional subdirectory inclusion
  • Cross-platform compatibility
  • Intuitive and responsive user interface

Installation

Requirements

  • Go (>=1.20) โ€” needed for manual builds
  • Nerd Fonts โ€” required for correct icon rendering

macOS (via Homebrew)

brew tap alexaldearroyo/catselector
brew install catsel

Manual Installation (macOS / Linux)

First, clone the repository:

git clone https://github.com/alexaldearroyo/catselector.git
cd catselector

Then build and install:

make build
sudo make install

This will compile the project and install the catsel binary into /usr/local/bin.

Usage

catsel            # Start Cat Selector
catsel --help     # Show help message
catsel --version  # Show version information

Contributing

Contributions are welcome. Please open an issue to discuss major changes before submitting a pull request.

License

This project is licensed under the MIT License โ€” see the LICENSE file for details.

ยฉ Alex Arroyo 2025