Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dijdzv/easychangedirectory
Tools for easy cd
https://github.com/dijdzv/easychangedirectory
bash cd command-line-tool fish powershell rust zsh
Last synced: 4 months ago
JSON representation
Tools for easy cd
- Host: GitHub
- URL: https://github.com/dijdzv/easychangedirectory
- Owner: dijdzv
- License: apache-2.0
- Created: 2022-06-30T13:31:47.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-20T22:32:25.000Z (5 months ago)
- Last Synced: 2024-09-27T21:21:02.743Z (4 months ago)
- Topics: bash, cd, command-line-tool, fish, powershell, rust, zsh
- Language: Rust
- Homepage:
- Size: 1.35 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# easychangedirectory
> **Tools for easy cd**
[![Latest version](https://img.shields.io/crates/v/easychangedirectory)](https://crates.io/crates/easychangedirectory)
[![crates.io downloads](https://img.shields.io/crates/d/easychangedirectory?label=downloads&style=flat-square)](https://crates.io/crates/easychangedirectory)
[![Github All Releases](https://img.shields.io/github/downloads/dijdzv/easychangedirectory/total.svg)](https://github.com/dijdzv/easychangedirectory/releases)
[![codecov](https://codecov.io/gh/dijdzv/easychangedirectory/branch/main/graph/badge.svg?token=V568GOT5XP)](https://codecov.io/gh/dijdzv/easychangedirectory)[![Apache](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](LICENSE-APACHE)
[![MIT](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE-MIT)
[![Build Status](https://github.com/dijdzv/easychangedirectory/actions/workflows/rust.yml/badge.svg?branch=)](https://github.com/dijdzv/easychangedirectory/actions/workflows/rust.yml)
[![release](https://github.com/dijdzv/easychangedirectory/actions/workflows/release.yml/badge.svg?branch=)](https://github.com/dijdzv/easychangedirectory/actions/workflows/release.yml)Dual-licensed under [Apache 2.0](LICENSE-APACHE) or [MIT](LICENSE-MIT).
[Features](#features) / [Usage](#usage) / [Support shell](#support-shell) / [Installation](#installation) / [Environment variable](#environment-variable)
## Features
- Can change paths visually
- The `cd` functionality can also be used as-is![demo](./assets/demo.gif)
## Usage
Command `ed`
| Key | Description |
| ------------------ | ------------------------------------------- |
| `↑` `k` | Move up |
| `↓` `j` | Move down |
| `←` `h` | Move parent directory |
| `→` `l` | Move Child directory |
| `Home` | Move to top |
| `End` | Move to bottom |
| `PageUp` | Skip a little and move up |
| `PageDown` | Skip a little and move down |
| `Enter` `c` `;` | Change directory to current directory |
| `Esc` `Ctrl+c` `q` | Exit and return to original directory |
| `Insert` `Ctrl+s` | Search mode switch (Char key will not work) |
| `Backspace` | Delete one character from the search string |
| `Delete` | Delete all search strings |
| `V` | Open VSCode in the current directory |
| `p` | Print the selected filepath |If it does not work, try restarting the shell.
## Support shell
- Bash
- Fish
- Powershell
- Zsh## Installation
[Install](#install) and [Register in the shell](#register-easychangedirectory-in-shell)
### Install
- If you can use Cargo
```
cargo install --locked easychangedirectory
```- Download from Release page
- Download the data appropriate for your environment and place it in a directory with a path
We will add more as needed.
### Register **_easychangedirectory_** in shell
Bash
Add to `~/.bashrc` (Change as necessary)
```bash
eval "$(easychangedirectory --init bash)"
```Run `. ~/.bashrc` as needed
Fish
Add to `~/.config/fish/config.fish` (Change as necessary)
```fish
easychangedirectory --init fish | source
```Run `. ~/.config/fish/config.fish` as needed
Powershell
Add to the file found by `echo $profile`
```powershell
Invoke-Expression (& { (easychangedirectory --init powershell | Out-String) } )
```Run `. $profile` as needed
Zsh
Add to `~/.zshrc` (Change as necessary)
```zsh
eval "$(easychangedirectory --init zsh)"
```Run `. ~/.zshrc` as needed
## Environment variable
You can check all environment variable values with `ed --env`.
- `_ED_PWD`
- If the value is `1`, print current directory after execution
- `_ED_SET_BG`
- If the value is `1`, set black background
- `_ED_SHOW_INDEX`
- If the value is `1`, the index is displayed on the left side of the list
- `_ED_VIEW_FILE_CONTENTS`
- If the value is `1`, the file contents can be viewed
- Preview is possible without setting
- `_ED_LOG`
- If the value is `1`, output log to `HOME/.easychangedirectory/ed.log`
- If an environment variable appropriate for `HOME` is not found, panic ensues.
- Log output location will be printed upon completion