ROVER(1)

πŸ“¦
version 1.0.1 Β· 3 versions
, in alpine 3.24

🌸 rover(1) β€” terminal file browser, bestie 🌸

okay so this is rover, from the General Commands Manual, and it's literally a file browser for the terminal. I'm obsessed.

✨ NAME ✨

rover β€” file browser for the terminal. That's the whole vibe: browse files, but make it terminal.

πŸ“œ SYNOPSIS πŸ“œ

rover [-d|--save-cwd FILE] [-m|--save-marks FILE] [DIR [DIR [DIR
       [...]]]]
rover -h|--help
rover -v|--version

πŸ’¬ DESCRIPTION πŸ’¬

Browse the current working directory or the ones you specify. Lowkey simple, highkey useful.

πŸŽ€ OPTIONS πŸŽ€

  • -d, --save-cwd β€” write last visited path to FILE before exiting
  • -m, --save-marks β€” append path of marked entries to FILE before exiting; if FILE doesn't exist, it'll be created
  • -h, --help β€” print help message and exit
  • -v, --version β€” print program version and exit

🧠 CONCEPTS 🧠

πŸ—‚ TABS πŸ—‚

Rover is operated via a tabbed interface. There are always ten tabs in total, numbered from 0 to 9. At any given moment, one (and only one) tab is visible on the screen. The number of the tab currently visible is shown on the top right corner of the screen. To view a different tab, you just press its corresponding number. Each tab has a current working directory (CWD) associated to it, also shown on the top of the screen. The CWD of the visible tab is changed as the user navigates through the file system.

It's also possible to set the CWD of tabs at Rover start-up by passing the desired paths as command-line arguments. Tab number 0 always starts at $HOME. If more than nine directories are specified, only the first nine are used for tabs 1-9 and the rest are ignored. Tabs for which an invalid path was assigned will also start at $HOME. Remaining tabs not specified on the command line start at the current working directory of the parent process.

πŸ“„ ENTRIES πŸ“„

An entry is anything that may be found inside a directory in some file system. It may be a file, a directory, a link, a socket, a FIFO, etc. In its most basic usage, Rover will gather a list of entries inside the CWD and present it on the screen.

There is always one (and only one) highlighted entry visible. This is both the cursor location and the current selection. The highlighting moves as the user navigates the entry list with cursor commands. Simple operations, like entering a subdirectory or renaming a file, are done by first selecting the relevant entry and then issuing the appropriate command (see the COMMANDS section). For commands that operate on more than one entry at once (batch commands), selection is not sufficient, since it's not possible to select more than one entry. Batch commands are performed on marked entries.

🏷 MARKS 🏷

For some file operations, it is convenient to first mark all entries that are to be processed, so that the appropriate command only needs to be issued once. For such purpose, Rover allows an arbitrary number of entries to be marked, with the limitation that they must be all in the same directory.

Unlike simple selection, the effect of marks is not constrained by visibility. This is so one can mark a number of entries in some directory, navigate to another directory, and then finally issue a copy or move command. Moreover, marks are shared over all tabs. This allows one to mark some entries in one tab that is pointed to the "source" directory of the operation and then issue the command on another tab that is pointed to the "destination" directory.

πŸ•Ή COMMANDS πŸ•Ή

  • q β€” quit rover.
  • j/k β€” move cursor down/up.
  • J/K β€” move cursor down/up 10 lines.
  • g/G β€” move cursor to top/bottom of listing.
  • l β€” enter selected directory.
  • h β€” go to parent directory.
  • H β€” go to $HOME directory.
  • t β€” go to the target of the selected link.
  • y β€” copy location to clipboard.
  • p β€” go to location in clipboard.
  • r β€” refresh directory listing.
  • <RETURN> β€” open $SHELL on the current directory.
  • <SPACE> β€” open $PAGER with the selected file.
  • e β€” open $VISUAL or $EDITOR with the selected file.
  • o β€” open $OPEN with the selected file.
  • / β€” start incremental search.
  • f/d/s β€” toggle file/directory/hidden listing.
  • n/N β€” create new file/directory.
  • R β€” rename selected file or directory.
  • E β€” toggle execute permission of the selected file.
  • D β€” delete selected file or (empty) directory.
  • m β€” toggle mark on the selected entry.
  • M β€” toggle mark on all visible entries.
  • a β€” mark all visible entries.
  • X/C/V β€” delete/copy/move all marked entries.
  • 0-9 β€” change tab.

⌨️ LINE EDITING ⌨️

Some commands will prompt for an input string. For example, in order to rename a file, the user must supply the new name. This string will appear at the bottom of the screen and must be edited interactively using the keyboard. Printable keys will insert characters at the cursor position. The following shortcuts are available for line editing:

  • <TAB> β€” finish editing and cancel command.
  • <RETURN> β€” finish editing and confirm command.
  • <LEFT>/<RIGHT> β€” move insertion cursor left/right.
  • <UP>/<DOWN> β€” move insertion cursor to beginning/end of string.
  • <BACKSPACE> β€” remove one character before cursor.
  • <DELETE> β€” remove one character after cursor.
  • <CONTROL>+u β€” clear line (remove all characters).

🌈 ENVIRONMENT VARIABLES 🌈

  • HOME β€” full path of the home directory.
  • PATH β€” colon-separated path list for program directories.
  • SHELL β€” name of shell program (e.g. /bin/sh).
  • PAGER β€” name of pager program (e.g. less).
  • VISUAL β€” name of visual editor program (e.g. vim or emacs).
  • EDITOR β€” name of line editor program (e.g. ed or ex).
  • CLIP β€” path of clipboard file (e.g. /tmp/clipboard). The user must have read and write permissions on this path. If this variable is not defined, Rover will use an internal, in-memory, clipboard.
  • RVSEL β€” Rover writes the name of the selected entry to this variable before running a subprocess. This allows one to use the selection as part of an arbitrary command by first invoking a shell from Rover (see the COMMANDS section) and then typing something like grep abc "$RVSEL".
  • OPEN β€” this variable can be set to a command accepting a single argument: a filename. The command is supposed to open the given file with an appropriate program.
  • ROVER_SHELL, ROVER_PAGER, ROVER_VISUAL, ROVER_EDITOR, ROVER_OPEN β€” if any of these variables are set, they override SHELL, PAGER, VISUAL, EDITOR and OPEN, respectively.

πŸ›  CONFIGURATION πŸ› 

If you want to change Rover key bindings or colors, you can edit the config.h file in the source distribution and recompile the program. Rover will not use or create any external file during its execution, except when asked to do so by user commands or command-line options.

⚠️ NOTES ⚠️

Important: Currently, Rover never asks for confirmation before overwriting existing files while copying/moving marked entries. Please be careful to not accidentally lose your data.

Rover homepage: http://lecram.github.io/p/rover/.

πŸ‘€ SEE ALSO πŸ‘€

noice(1), mc(1), vifm(1), ranger(1)


mwah πŸ’‹ β€” this cutie is rover-1.0.1, dated 2020-06-04, manual page ROVER(1). bye bestie, go browse some files 🫢

πŸ“¦ where this page comes from