Question: One of the ways I quickly rename files in Windows is 

```
F2 > Rename > Tab (to next file) > Rename ...

```

But in Ubuntu/Nautilus, I can't tab to next file. But being on Linux, I think there must be a command line alternative.

However, sometimes, I may want more control over how to rename specific files. In that case, perhaps its better to be able to tab to the next file

Answer: 
Try [pyrenamer](http://packages.ubuntu.com/pyrenamer).

It's not integrated with nautilus, but it gets the job done. [Here](http://2buntu.com/891/pyrenamer-go-ubuntu/) is a review.

[Thunar](http://packages.ubuntu.com/thunar) (part of XFCE) also has a renamer that you can run separately.

![Thunar bulk renamer](https://i.stack.imgur.com/fOwMR.png)
If the only suitable option is renaming the files manually, a great way to do that is using [`vidir`](http://manpages.ubuntu.com/manpages/trusty/en/man1/vidir.1.html) (in the [`moreutils`](http://packages.ubuntu.com/trusty/moreutils) package):

```bsh
sudo add-apt-repository universe && sudo apt-get update && sudo apt-get install moreutils

```

```none
DESCRIPTION
       vidir allows editing of the contents of a directory in a text editor.
       If no directory is specified, the current directory is edited.

       When editing a directory, each item in the directory will appear on
       its own numbered line. These numbers are how vidir keeps track of what
       items are changed. Delete lines to remove files from the directory, or
       edit filenames to rename files. You can also switch pairs of numbers
       to swap filenames.

       Note that if "-" is specified as the directory to edit, it reads a
       list of filenames from stdin and displays those for editing.
       Alternatively, a list of files can be specified on the command line.

```

Examples
========

---

Renaming files selectively
--------------------------

Current working directory's content:

```none
.
├── bar
├── baz
└── foo

```

Run `vidir`, rename the filenames in the lines containing the filenames you wish to rename; hit `CTRL`+`O` and `CTRL`+`X`:

[![screenshot3](https://i.stack.imgur.com/SApPR.png)](https://i.stack.imgur.com/SApPR.png)

```none
.
├── bar.bak
├── baz.old
└── foo.new

```

---

Switching filenames selectively
-------------------------------

Current working directory's content:

```none
.
├── bar
├── baz
└── foo

```

Current working directory's files' content:

```bsh
$ for f in *; do printf '- %s:\n\n' "$f"; cat "$f"; echo; done
- bar:

This is bar

- baz:

This is baz

- foo:

This is foo

$ 

```

Run `vidir`, switch the numbers in the lines containing the filenames you wish to switch; hit `CTRL`+`O` and `CTRL`+`X`:

[![screenshot4](https://i.stack.imgur.com/1qk1d.png)](https://i.stack.imgur.com/1qk1d.png)

```none
.
├── bar
├── baz
└── foo

```

```bsh
$ for f in *; do printf '- %s:\n\n' "$f"; cat "$f"; echo; done
- bar:

This is foo

- baz:

This is bar

- foo:

This is baz

$ 

```

---

Removing files selectively
--------------------------

Current working directory's content:

```none
.
├── bar
├── baz
└── foo

```

Run `vidir`, remove the lines containing the files you wish to delete; hit `CTRL`+`O` and `CTRL`+`X`:

[![screenshot2](https://i.stack.imgur.com/LP1IK.png)](https://i.stack.imgur.com/LP1IK.png)

```none
.
└── baz

```