ajeetdsouza / zoxide

A smarter cd command. Supports all major shells.
https://crates.io/crates/zoxide
MIT License
23.17k stars 555 forks source link

import autojump DB #107

Closed waxzce closed 4 years ago

waxzce commented 4 years ago

Hi, is there a way to import autojump database to migrate to zoxide ?

ajeetdsouza commented 4 years ago

Hey @waxzce,

Currently, there isn't any way to do this. While it would be trivial to just import the scores from autojump into zoxide, I'm not sure this would work well, because autojump's algorithm is substantially different from zoxide.

Autojump tracks the time spent in a directory, and does ranking accordingly. To me, that doesn't seem like the best approach - I don't really care how long I spend in a directory - in fact, I often start up long running tasks in unrelated directories (think: Docker, large installations, system upgrades) and leave it open for hours!

zoxide is meant to be a drop-in replacement for cd, and it therefore tracks how many times you cd into a directory. IMO, if a user needs to cd into a directory 10 times a day and spends only 2 seconds in there each time, it should be 10 times more important than something they only need to cd into once a day, even though they leave that terminal open the whole day - it's that call to cd that we're trying to optimize.

If you've been using autojump for a while, it's quite possible that your scores will be high enough that zoxide will take a while to normalize them, which means the algorithm won't be working optimally. I suggest you give zoxide a shot by starting afresh - it learns pretty quickly!

waxzce commented 4 years ago

maybe we can just import the Path with a long enough timing and the weight of 1? Just to start somewhere event if the beginning is not optimum

ajeetdsouza commented 4 years ago

Added in zoxide 0.5.0.