|Perl Monk, Perl Meditation|
Re^2: mvi -- mv+vi (+ln+rm+cp+mkdir) (ln -s, mkdir -p)by tye (Sage)
|on Aug 02, 2010 at 21:02 UTC||Need Help??|
I usually want to be told when I typo part of the path. And, since I'm in vim, it isn't hard to expand "MD=foo/bar/baz" to add "MD=foo" and "MD=foo/bar". But I can see wanting to avoid such machinations. Perhaps MP= makes sense.
As I was posting this, I briefly wondered why I hadn't added support for creating symbolic links (other than "never needed it, yet"). Thinking about it more now that you've asked, I see some problems with supporting such. There are lots of ways to make a symbolic link that points to an existing file or directory and I don't yet see a clear way to distinguish between the cases via this interface.
Consider "mvi foo/*" and then changing "=foo/bar" to "S=foo/baz". You probably want the equivalent of
not "readlink foo/baz" returning "../foo/bar" nor "/whatever/path/we/are/in/foo/bar". But if you did want one of those, how would specify it?
Maybe I should just assume that people either want relative symlinks or absolute symlinks and, when making relative symlinks, remove as many instances of ".." as possible? Then you could say "RS=foo/baz" or "AS=foo/baz". That'd be easier than actually trying to get the invocation of "ln -s" correct on the first try (which is extra hard for me since I personally always think that the arguments to "ln -s" should go in the other order for some reason).
I'd probably never use "ln -s" directly again. Yeah, I think I really need to implement this.
Thanks for the suggestions!