J: an alternative to cd that learns where you spend time(github.com)
github.com
J: an alternative to cd that learns where you spend time
http://github.com/rupa/j/tree
23 comments
Post like you just did should have a mandatory link to the code :)
There's a python portion:
http://pastebin.com/f16aae31d
And a small bash function (since you can only change your shell's pwd from the shell itself):
http://pastebin.com/f5d93d12a
And a small bash function (since you can only change your shell's pwd from the shell itself):
http://pastebin.com/f5d93d12a
Thanks!
The name "sd" conflicts with this, however:
http://github.com/obra/sd/tree/master
Yay for two-letter identifiers. ;)
http://github.com/obra/sd/tree/master
Yay for two-letter identifiers. ;)
It's just a bash function, you can name it anything you want, and the tool you linked is hardly standard.
Very neat tool. I saw this when it was mentioned on a post I made not long ago.
If you want something you can simply add to .bashrc, here are some bash functions to also help jump around to directories you want: http://mattie.posterous.com/some-handy-bash-commands
There's a link there for the "up" command (taking you to some directory higher in your path with that name) and also for "down" (similar downward) and "cdd" which just does a rapid use of locate to find the first directory that matches.
If you want something you can simply add to .bashrc, here are some bash functions to also help jump around to directories you want: http://mattie.posterous.com/some-handy-bash-commands
There's a link there for the "up" command (taking you to some directory higher in your path with that name) and also for "down" (similar downward) and "cdd" which just does a rapid use of locate to find the first directory that matches.
why not use CDPATH?
At work, I have the interesting heads of our source tree in CDPATH, so I can get to most directories I care about by typing their short names.
For instance http://www.macosxhints.com/article.php?story=200503181431142...
At work, I have the interesting heads of our source tree in CDPATH, so I can get to most directories I care about by typing their short names.
For instance http://www.macosxhints.com/article.php?story=200503181431142...
Because you don't have to teach it, it just learns.
Ok, I feel like an idiot. When it says "source this into your .bashrc" what does it mean?
I know where .bashrc is, but simply pasting it into the file seems like .. the wrong way to do it. Couldn't really find an answer on Google
I know where .bashrc is, but simply pasting it into the file seems like .. the wrong way to do it. Couldn't really find an answer on Google
I think what is referred to is bash's source command: when you've modified your .bashrc and you want the changes to be reflected in your current shell process, you do
source .bashrc
or, equivalently . .bashrc
which runs .bashrc in the current shell, as opposed to in a forked subshell as happens if you did ./.bashrc ; and hence the new functions/aliases/variable settings you've put in .bashrc are now available in the current shell (as opposed to only being visible in a forked subshell and disappearing when it exits).Now it's clearer, thank you! :)
http://www.commandlinefu.com/commands/by/senthil
second one, simple - effective
second one, simple - effective
My version: http://akkartik.name/bash.html#cd
But this is nice and self-contained.
But this is nice and self-contained.
awesome. huge timesaver. wish it could for for cp paths too
you could add a completion for cp commands just like in the last line of j.sh
complete -o dirnames -o filenames -C "j --complete" cp mv
or something similar.I prefer the proggit headline: "Where the fuck has this been for the last 30 years? A cd command that learns."
For any zsh users out there, I made a couple changes so it works in zsh: http://github.com/burke/j
Perfect, that's just what I was looking for. Thanks!
Kind of but not really in a similar vein: I have 'sd' aliased to a small script that goes to the 'next interesting directory', where an 'interesting directory' is one with a visible non-directory or more than one sub-directory. So, for instance, if you're sitting at foo, and underneath you is bar/baz/bat/bit.txt, 'sd bar' will bring you all the way down to bat, and then 'sd ..' will pull you all the way back up to the previous interesting directory.
Just to keep from getting lost, it does a pwd when it gets where it's going, and because typing ls after cd had burned itself into my muscle memory, it goes ahead and does that, too.
It's a small thing, but I really like it for hopping around source trees in languages that use directories to denote package structure.