I haven't found an advanced tutorial on ranger yet, so my question is: is it possible to execute a command on a selection of files in ranger?

If so, how would I do that?


This is in man ranger:


Open the console with the content "shell %s", placing the cursor before the " %s" so you can quickly run commands with the current selection as the argument.


  1. highlight the files you want to work on with Space

  2. type @ to get to a command prompt which will be :shell %s with the cursor positioned before %s

  3. type the name of your command and press Enter

  4. the command you specified will be executed with selected filenames as parameters

The man page also covers adding a pause to check command output:


There are some additional flags that can currently be used
only in the "shell" command: (for example ":shell -w df")

 p   Redirect output to the pager
 s   Silent mode.  Output will be discarded.
 w   Wait for an Enter-press when the process is done
  • 3
    Is there any output? I execute :shell realpath %s, but no output.
    – acgtyrant
    Jul 5 '17 at 5:27
  • 1
    Is there a way to automatically get spaces and such escaped in the selected filenames that are passed? I can do it manually of course but it can get tedious. Feb 4 '19 at 11:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.