• Stars
    star
    353
  • Rank 120,322 (Top 3 %)
  • Language
    Shell
  • Created about 10 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A faster way to move around (Bash 3+/Zsh)

commacd Build Status

A faster way to move around (Bash 3+/Zsh).

commacd is NOT an autojump/z/fasd alternative nor they are mutually exclusive. Think of it as an improved cd.

Installation

Bash

curl -sSL https://github.com/shyiko/commacd/raw/v1.0.0/commacd.sh -o ~/.commacd.sh && \
  echo "source ~/.commacd.sh" >> ~/.bashrc

macOS users: make sure ~/.bashrc is sourced from ~/.bash_profile.

Zsh

curl -sSL https://github.com/shyiko/commacd/raw/v1.0.0/commacd.sh -o ~/.commacd.sh && \
  echo "source ~/.commacd.sh" >> ~/.zshrc

Upgrading to the latest version

curl -sSL https://github.com/shyiko/commacd/raw/v1.0.0/commacd.sh -o ~/.commacd.sh

Usage

commacd exports three commands: , (for jumping forward), ,, (backward) and ,,, (backward+forward):

~$ , des
  => cd Desktop

# move through multiple directories
~$ , /u/l/ce
  => cd /usr/local/Cellar

# allow me to choose directory in case of ambiguous pattern (= multiple choices)
~$ , d
  => 1 Desktop
     2 Downloads
     : <type index of the directory to cd into>

# given two directories jdk7 and jdk8 on the Desktop, cd into jdk8 without hitting
# interactive mode (the one shown above)
~/github$ , ~/d/j*8
  => cd ~/Desktop/jdk8

# cd into directory having 'esk' somewhere in its name
~/github$ , ~/esk # in pre-0.2.0 that would be `, ~/*esk`
  => cd ~/Desktop

# go all the way up to the project root (in this case, the one that has .git in it)
~/github/lorem/src/public$ ,,
  => cd ~/github/lorem

# cd into to the first (closest) parent directory named g*
~/github/vimium/src/public$ ,, g
  => cd ~/github

# substitute jekyll with ghost
~/github/jekyll/test$ ,, jekyll ghost
  => cd ~/github/ghost/test

# jump to some other project (in this case, located in ~/github)
~/github/rook/src/public$ ,,, binlog # in pre-0.2.0 you would need to use `m*binlog`
  => cd ~/github/mysql-binlog-connector-java

As a bonus, all three aliases support <Tab> expansion (try , /u/lo<Tab>) and can be combined with other tools (e.g. ls `, /u/lo` ).

For more information, please refer to http://shyiko.com/2014/10/10/commacd/.

Development

make # lint & test

License

MIT License

More Repositories

1

jabba

(cross-platform) Java Version Manager
Go
2,778
star
2

mysql-binlog-connector-java

MySQL Binary Log connector
Java
2,212
star
3

kubesec

Secure Secret management for Kubernetes (with gpg, Google Cloud KMS and AWS KMS backends)
Go
608
star
4

kubetpl

Kubernetes templates made easy #keep-it-simple #no-server-component
Go
209
star
5

skedule

A human-friendly alternative to cron. Designed after GAE's schedule for Kotlin and/or Java 8+.
Kotlin
84
star
6

gitlab-ci-build-on-merge-request

Missing "build on Merge Request" feature of Gitlab CI
Go
68
star
7

electron-har

A command-line tool for generating HTTP Archive (HAR) (based on Electron)
JavaScript
46
star
8

kubensx

Simpler Cluster/User/Namespace switching for Kubernetes (featuring interactive mode and wildcard/fuzzy matching)
Go
44
star
9

dotenv

A twelve-factor configuration (12factor.net/config) library for Java 8+
Java
42
star
10

docker-vm

A simple and transparent alternative to boot2docker (backed by Vagrant)
Shell
38
star
11

tsdm

No worries TypeScript definition manager
JavaScript
34
star
12

lorem

Filler text generator compatible with Node.js, Require.js and plain-old <script/>
JavaScript
33
star
13

bower-shrinkwrap-resolver

Missing shrinkwrap for Bower
JavaScript
33
star
14

dockry

Docker Registry V2 CLI (compatible with Docker Hub, GitLab Container Registry, etc; public or private)
Go
25
star
15

rook

Change Data Capture (CDC) toolkit for keeping system layers in sync with the database
Java
23
star
16

servers-maven-extension

Maven extension for exposing settings.xml/servers to ${}
Java
22
star
17

canvas-text-opentypejs-shim

Consistent text rendering for <canvas> (backed by opentype.js)
JavaScript
20
star
18

neutrino-preset-vue-static

A minimalistic starter kit for building static sites using Vue.js
JavaScript
16
star
19

levelkt

LevelDB client for Kotlin and/or Java 8+
Kotlin
14
star
20

dotfiles

Personal ~/*
Shell
13
star
21

k8sovpn

OpenVPN tunnel "to see the world the way pods see it" in Kubernetes
11
star
22

klob

A .gitgnore-pattern-based glob library for Kotlin and/or Java 8+
Kotlin
10
star
23

urxvt-clipboard-paste-on-right-click

rxvt-unicode extension that allows to paste the contents of your clipboard with the right click
Perl
10
star
24

bower-dependency-tree

Bower dependency tree visualizer
JavaScript
9
star
25

amqplib-auto-recovery

Automatic connection recovery for amqplib (squaremo/amqp.node)
JavaScript
9
star
26

vue-document

A 1kb document manager for Vue.js
JavaScript
6
star
27

hubot-starter-kit

Everything you need to get started with Hubot (Dockerfile included).
CoffeeScript
5
star
28

node-chrome-extension-id

A way to get Chromium / Google Chrome Extension ID
JavaScript
4
star
29

node-chrome-user-data-dir

An easy way to generate custom Chromium / Google Chrome profile (user data directory)
JavaScript
4
star
30

usage-maven-plugin

Maven Plugin for printing project Usage information
Java
3
star
31

jabba-autodiscovery

A simple mechanism for keeping jabba's index up-to-date
JavaScript
3
star
32

urxvt-selection-open

rxvt-unicode extension that allows to execute custom actions based on selection
Perl
2
star
33

node-finalize-addon

Object finalization based on N-API for Node.js v8.6.0+
C++
2
star
34

cucumber-js-caffeinator

Cucumber.js supercharged with Mocha reporters.
JavaScript
1
star
35

node-crx-parser

CRX parser
JavaScript
1
star
36

mappify

Dead-simple object mapping in Java
Java
1
star
37

native2asciiplug

Intellij IDEA native2ascii plugin
Java
1
star
38

hadoop-maven-plugin

Maven Plugin for Apache Hadoop
Java
1
star
39

checkstyle-nonstandard

Additional Checkstyle checks
Java
1
star
40

hubot-skype-over-phantomjs

Skype adapter for Hubot (the one that can be actually used on Raspberry Pi)
CoffeeScript
1
star
41

node-minimal-viable-pool

Minimal viable pool for Node.js
JavaScript
1
star
42

ijignore

.ijignore-controlled selective indexing for IntelliJยฎ Platform-based products (IDEA, WebStorm, ...).
Java
1
star
43

rcfg

Configurable package.json-aware sync/async .${app}rc loader
JavaScript
1
star