Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/matusf/goto

A fish shell utility to quickly navigate to aliased directories supporting tab-completion
https://github.com/matusf/goto

aliases directories fish goto navigation productivity registered-aliases utlity

Last synced: about 22 hours ago
JSON representation

A fish shell utility to quickly navigate to aliased directories supporting tab-completion

Awesome Lists containing this project

README

        

# goto

A fish shell utility to quickly navigate to aliased directories supporting
tab-completion

**goto** is a port of [goto](https://github.com/iridakos/goto) to
[fish shell](https://fishshell.com/).

![demo](/demo.gif)

## Installation

### Via [fisher](https://github.com/jorgebucaran/fisher)

```
fisher install matusf/goto
```

### Manually

Simply copy the [goto.fish](https://raw.githubusercontent.com/matusf/goto/master/goto.fish)
to your `fish/functions` directory. (Typically `~/.config/fish/functions`) or run:

```
curl --create-dirs -o ~/.config/fish/functions/goto.fish https://raw.githubusercontent.com/matusf/goto/master/functions/goto.fish
```

## Usage

### Go to an aliased directory

```
$ goto
```

### Register an alias

```
$ goto -r
$ goto --register
```

### Unregister an alias

```
$ goto -u
$ goto --unregister
```

### List aliases

```
$ goto -l
$ goto --list
```

### Cleanup non existent directory aliases

```
$ goto -c
$ goto --cleanup
```

### Expand an alias

```
$ goto -x
$ goto --expand
```

### Print goto version

```
$ goto -v
$ goto --version
```

### Print a help message

```
$ goto -h
$ goto --help
```

## Features

- support for **tab-completion** (for both, options and aliases)
- works for relative as well as absolute paths
- follows [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)

## Configuration

You can configure the location of `goto` database by setting an environment
variable `GOTO_DB` to a path to a file where you would like to store aliases.