Skip to content

Batch-rename files from your preferred editor

License

Notifications You must be signed in to change notification settings

innocenzi/rename

Repository files navigation

Renamer

Status   npm

A command line utility to batch-rename files via your editor.

npm i -g @innocenzi/rename

 

Usage

In a directory, use rn to open your configured editor. Each line corresponds to a file:

  • If you change a line, the corresponding file will be renamed accordingly.
  • If you erase the line while keeping the line jump, the file will be deleted.

Note the following scenarios:

  • If you completely delete a line, all operations will be canceled.
  • If you rename multiple files with the exact same name, the last one will take over and the previous ones will be deleted.
  • If you are deeply renaming paths and have renamed a shared base directory, you need to update other related paths accordingly.

 

Options

Argument Description
--dry Prints the output to the console without actually applying the changes
--silent Prevents from printing to the console
--dirs Only match directories
--files Only match files
--base <dir> Defines the base directory in which the rename will be performed
--depth <depth> Defines the maximum depth in case a globstar is used (**)

 

Configuration

Your RENAME_EDITOR or EDITOR environment variable will be used to determine your editor of choice. If none of these are defined, Visual Studio Code will be used instead. If Code is not installed either, or if the configured editor can not be opened, the program will fail.

The following table is a reference from the Git documentation that can be used to set up your editor.

Editor Environment variable value
Atom atom --wait
BBEdit (Mac, with command line tools) bbedit -w
Emacs emacs
Gedit (Linux) gedit --wait --new-window
Gvim (Windows 64-bit) 'C:\Program Files\Vim\vim72\gvim.exe' --nofork '%*'
Kate (Linux) kate
nano nano -w
Notepad (Windows 64-bit) notepad
Notepad++ (Windows 64-bit) 'C:\Program Files\Notepad\notepad.exe' -multiInst -notabbar -nosession -noPlugin
Scratch (Linux) scratch-text-editor
Sublime Text (macOS) /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl --new-window --wait
Sublime Text (Windows 64-bit) 'C:\Program Files\Sublime Text 3\sublime_text.exe' -w
TextEdit (macOS) open --wait-apps --new -e
Textmate mate -w
Textpad (Windows 64-bit) 'C:\Program Files\TextPad 5\TextPad.exe' -m
UltraEdit (Windows 64-bit) Uedit32
Vim vim
Visual Studio Code code --wait
VSCodium (Free/Libre Open Source Software Binaries of VSCode) codium --wait
WordPad "C:\Program Files\Windows NT\Accessories\wordpad.exe"
Xi xi --wait

 



·

Demonstration of the CLI

Demonstration of the CLI

·

Built with ❤︎ by Enzo Innocenzi