Beefy Boxes and Bandwidth Generously Provided by pair Networks
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 ( #852545=note: print w/replies, xml ) Need Help??

in reply to Re: mvi -- mv+vi (+ln+rm+cp+mkdir)
in thread mvi -- mv+vi (+ln+rm+cp+mkdir)

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

% ln -s bar foo/baz % readlink foo/baz bar %

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!

- tye        

Replies are listed 'Best First'.
Re^3: mvi -- mv+vi (+ln+rm+cp+mkdir) (ln -s, mkdir -p)
by runrig (Abbot) on Aug 02, 2010 at 21:52 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://852545]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2021-01-27 05:03 GMT
Find Nodes?
    Voting Booth?