Substituição de `cd` Shell

Todo mundo tem uma dessas pastas ~ / code, ~ / dev, ~ / development, ~ / workspace, ~ / you-name-it.

Temos muitos projetos dentro e gostamos de agrupar coisas.
Por exemplo, se eu quiser hackear Cocoapods / Core, aqui está o que preciso digitar:

$ cd code/OSS/Cocoapods/Core

Ou, se eu acabei de verificar algumas coisas aleatórias de código aberto,

$ cd code/Playground/RandomProject

Como você pode fazer cdcom os projetos muitas vezes ao dia, este pode ajudá-lo:
(também não faz distinção entre maiúsculas e minúsculas)

# wo = work on
wo
() {
code_dir
=~/code # replace it with your development directory
cd $
(find $code_dir -type d -maxdepth 3 | grep -i $* | grep -Ev Pods --max-count=1)
}

Basta copiar para seu .bashrc, ou .zshrc, ou ainda melhor, .aliases se você mantiver um arquivo separado para eles.

Uso:

$ wo core
# enters ~/code/OSS/Cocoapods/Core on my machine

$ wo sugar

# enters ~/code/OSS/ObjectiveSugar

Observe que você também pode alternar entre projetos, sem cd ..