How to create a new file or directory using ranger?

I want to create a new file or directory with ranger. I suppose I could use mkdir or touch, but I’m not sure if these would go in the current directory as viewed in ranger.

To create a directory in ranger, just type

:mkdir exampledir


:touch examplefile
Answered By: Chris Stryczynski

You can use :touch somefile, but I prefer it mapped to a key.

:map c console touch  (note the extra space at the end)

Place this at the bottom of your ~/.config/ranger/rc.conf minus the leading :

Answered By: jaustin

The accepted answer is correct, but someone might prefer to get these commands typed just by pressing one key. As @jaustin describes in his answer, one need to have keys mapped in ~/.config/ranger/rc.conf config file.

If you copied default configuration files by

ranger --copy-config=all

then you already have the shortest access to mkdir / touch:

  • F7 – mkdir (config: map <F7> console mkdir%space)
  • Insert – touch (config: map <INSERT> console touch%space)

Mine current version of Ranger is 1.9.2.

BTW: extra space at the end of map c console touch␣ doesn’t work. Only map c console touch%space will work.

Answered By: Mikolasan

For creating a new file that you intend to immediately edit, using:

:edit new_file_name

is slightly faster. This will open the file in vim. Note that you’d need to save it in vim (e.g. with :w<CR>) before it appears (contrary to :touch, which will create the file immediately).

Answered By:
Categories: Answers Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.