Fuzzy-search all files in your current directory with instant results and a live content preview
Search git repositories, environment variables, or Docker containers using built-in named channels
Replace Ctrl+T file search and Ctrl+R history search in bash or zsh with fuzzy matching
Define a custom channel using a shell command to fuzzy-search any data source you choose
Available via Homebrew, Cargo, Scoop, and other package managers, shell integration requires a one-line addition to your shell config file.
Television, invoked as tv in the terminal, is a Rust program that lets you search through data in real time using fuzzy matching. Fuzzy matching means you can type partial words or letters in the wrong order and still find what you are looking for, because the search looks for your characters appearing anywhere in the candidate strings rather than requiring an exact match. By default, tv searches files in the current directory. You can switch to other built-in data sources, called channels, by passing a name: tv text searches file contents, tv git-repos finds git repositories on your system, and others cover environment variables and docker containers. Results appear instantly as you type, with a preview pane showing the selected item. You can create your own channels using a simple configuration file. A channel definition specifies a shell command to generate the list of items to search through and optionally a second command to generate a preview for the selected item. The example in the README creates a channel that browses TLDR command documentation pages. Custom actions can be bound to keyboard shortcuts within the channel. Shell integration adds fuzzy file search to Ctrl+T and history search to Ctrl+R in bash and zsh, replacing or supplementing the shell built-in key bindings. A one-liner written to your shell config file is all the setup requires. Plugins exist for Neovim, Vim, VS Code, Zed, and JetBrains IDEs, making the same search experience available from within editors. Television is built on nucleo for fuzzy matching, tokio for async processing, and ratatui for the terminal interface. It is available through Homebrew, Cargo, Arch Linux packages, Scoop, and other package managers.
← alexpasmantier on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.