40

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.

Kusalananda
  • 320,670
  • 36
  • 633
  • 936
Chris Stryczynski
  • 5,178
  • 5
  • 40
  • 80

4 Answers4

46

To create a directory in ranger, just type

:mkdir exampledir

or,

:touch examplefile
Stephen Rauch
  • 4,209
  • 14
  • 22
  • 32
Chris Stryczynski
  • 5,178
  • 5
  • 40
  • 80
28

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.

Mikolasan
  • 388
  • 3
  • 5
8

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 :

jaustin
  • 179
  • 1
  • 4
3

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

icyrock.com
  • 573
  • 3
  • 6