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. 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.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.