This is awesome! Really great work. I can think of about five different instances in the last couple weeks where this could've really helped me out. Oftentimes, I ended up just using something like NameMangler[1] instead and pining for the flexibility of my editor.
For the other commenters in this thread that don't see the appeal or keep comparing it to other alternatives, here's what's so compelling to me:
- Editor agnostic. This isn't just for vim, people. ST2 is awesome for this kind of thing.
- Undo. Easy undo. That's a killer feature, and I wouldn't be surprised if it's unique to this tool.
Effusive praise aside, I ran into a couple small issues on OS X:
$ massren --config editor 'subl'
massren: Config has been changed: "editor" = "subl"
$ massren
massren: exec: "subl": executable file not found in $PATH
subl is indeed in my $PATH, but it's actually just a symlink to the ST2 application directory, as the ST2 docs suggest [2]. I solved this by just adding the app directory to my $PATH, but it'd be nice to keep it out of there if possible.
Also, I'd like to be able to pass switches along with my editor command, like git config's core.editor [3]. However, this doesn't seem to work:
massren: exec: "subl -wn": executable file not found in $PATH
Anyway, great work once again, and thanks for releasing such a cool tool!
Thanks for the feedback! I would have expected Go to find the subl executable if it's in the PATH, even if it's a symlink but apparently not. I will check if this can be improved.
At the moment, the tool indeed doesn't support parameters for the text editor, though it's quite trivial to implement. I'm going to add this soon.
At a quick thought, is there any chance that 'subl' is actually an OS X alias (https://en.wikipedia.org/wiki/Alias_%28Mac_OS%29) (which can't easily be followed from the command line), rather than a symlink?
Thanks for this. I've been using rename[1] (not actually from [2]) from time to time, but I find it is annoying beyond the simplest of cases (eg: change names to all lowercase).
vidir will probably serve me better.
[1] A utility that is distributed with perl (on Debian as /usr/bin/prename, with a listing in /etc/alternatives for "rename")
This is cool. There is already a command called rename[1] that can do some of this but this is much more interactive (and probably more intuitive for vi users). Is this scriptable?
Thanks, actually I've started developing massren after having tried `rename`, after I realized I had no idea what flavor of regex and syntax I was supposed to be using :) The advantage of using one's own text editor is that it's always familiar.
Currently, the command is not really scriptable, but I'd be open to any suggestion.
I think the syntax is pcrepattern[1] though I may very well be wrong. I definitely agree to the strength being that you know your editor.
I suppose scripting would be hard to do without knowing the editor. I artificially applied vim as the editor because that was what you used in the example. I very recently found vimcat[2] from another thread and thought that something similar could be done with this. I guess it may not be much more effective than just using sed and a for loop in <insert shell here> though.
Indeed it looks like it's doing something very similar, I didn't know about it. I guess one advantage of massren is that it can work with any text editor. The demo is with vim but, for example, on my machine I've set it up to use Sublime Text.
I'm not familiar with qmv so I cannot tell but, if it's Linux-only, then one advantage of massren is that it can work on any platform supported by Go (currently tested on Windows, OSX and Ubuntu).
Yeah I was impressed, I dug into the code a little to see how they accomplish this. They store a sqlite database in ~/.config/massren that contains the rename history and other configuration options. Pretty slick! The app is written in very readable Go.
One program I missed when I moved from Windows to Linux was Freename - http://freename.sourceforge.net/ - which does exactly this.
My solution was a bit hackier, a bash script that did spit out a bunch of lines for each file in a directory, each with "(mv|cp) 'foo.bar' ''", ready for me to edit and then paste back into a terminal window.
For the other commenters in this thread that don't see the appeal or keep comparing it to other alternatives, here's what's so compelling to me:
- Editor agnostic. This isn't just for vim, people. ST2 is awesome for this kind of thing.
- Undo. Easy undo. That's a killer feature, and I wouldn't be surprised if it's unique to this tool.
Effusive praise aside, I ran into a couple small issues on OS X:
subl is indeed in my $PATH, but it's actually just a symlink to the ST2 application directory, as the ST2 docs suggest [2]. I solved this by just adding the app directory to my $PATH, but it'd be nice to keep it out of there if possible.Also, I'd like to be able to pass switches along with my editor command, like git config's core.editor [3]. However, this doesn't seem to work:
Anyway, great work once again, and thanks for releasing such a cool tool![1] http://manytricks.com/namemangler/
[2] http://www.sublimetext.com/docs/2/osx_command_line.html
[3] https://help.github.com/articles/using-sublime-text-2-as-you...