get the next/previous sibling directory name.
When a directory has too many sub-directories, we are tiresome to traverse the whole of sub-directories. Because, sometimes we lose where we are. Ideally, we move the directory by specifying ‘next’ or ‘previous,' not the directory name.
The command like the following makes us tired 👎.
cd ../next_directory_name
We should type the command like below 👍.
cdnext
For this, I implemented sibling.
The sibling introduces the following utility commands.
- change the working directory to the sibling directory:
cdnext,cdprev,cdfirst,cdlast, andcdrand
- list the sibling directory:
lsnext,lsprev,lsfirst,lslast, andlsrand
The cdnext and the cdprev allow the integer argument to repeat the traversing.
sibling prints the next directory name with 0 status code.
The next directory is decided by the traversing type. Available values are: next, previous, first, last, keep and random, default is next.
After visiting the final directory, the sibling prints nothing and exits with a non-zero status code.
Install sibling via Homebrew, simply run:
brew tap tamada/brew
brew install siblingAnd put the following snipeets into your shell profile (e.g., .bash_profile, or .zshrc)
The --init option accepts only bash.
Other shell scripts are not supported, yet.
eval "$(sibling --init bash)"Get source codes by git clone or download from GitHub,
then run cargo build to build sibling.
git clone https://github.com/tamada/sibling.git # or download from https://github.com/tamada/sibling
cd sibling
cargo build --release # the binary file is put on target/release/sibling.- WTFPL
- 👍 Commercial use
- 👍 Modification
- 👍 Distribution
- 👍 Private use
- cdargs
- Directory bookmarking system - Enhanced cd utilities
- Is there a directory history for bash?