31

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?

1 Answer 1

46

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.

So,

  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:

FLAGS

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
2
  • 3
    Is there any output? I execute :shell realpath %s, but no output.
    – acgtyrant
    Commented Jul 5, 2017 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. Commented Feb 4, 2019 at 11:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .