From a62114c91f2070c8c8453d117f3d81dc113e41ff Mon Sep 17 00:00:00 2001 From: Biswakalyan Bhuyan Date: Mon, 25 Mar 2024 16:43:09 +0530 Subject: dotfile update --- zsh/oh-my-zsh/plugins/dircycle/README.md | 78 ---------------------- zsh/oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh | 54 --------------- 2 files changed, 132 deletions(-) delete mode 100644 zsh/oh-my-zsh/plugins/dircycle/README.md delete mode 100644 zsh/oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh (limited to 'zsh/oh-my-zsh/plugins/dircycle') diff --git a/zsh/oh-my-zsh/plugins/dircycle/README.md b/zsh/oh-my-zsh/plugins/dircycle/README.md deleted file mode 100644 index 3c9b3a9..0000000 --- a/zsh/oh-my-zsh/plugins/dircycle/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# dircycle - -Plugin for cycling through the directory stack - -This plugin enables directory navigation similar to using back and forward on browsers or common file explorers like Finder or Nautilus. It uses a small zle trick that lets you cycle through your directory stack left or right using Ctrl + Shift + Left / Right . This is useful when moving back and forth between directories in development environments, and can be thought of as kind of a nondestructive pushd/popd. - -## Enabling the plugin - -1. Open your `.zshrc` file and add `dircycle` in the plugins section: - - ```zsh - plugins=( - # all your enabled plugins - dircycle - ) - ``` - -2. Restart the shell or restart your Terminal session: - - ```console - $ exec zsh - $ - ``` - -## Usage Examples - -Say you opened these directories on the terminal: - -```console -~$ cd Projects -~/Projects$ cd Hacktoberfest -~/Projects/Hacktoberfest$ cd oh-my-zsh -~/Projects/Hacktoberfest/oh-my-zsh$ dirs -v -0 ~/Projects/Hacktoberfest/oh-my-zsh -1 ~/Projects/Hacktoberfest -2 ~/Projects -3 ~ -``` - -By pressing Ctrl + Shift + Left, the current working directory or `$CWD` will be from `oh-my-zsh` to `Hacktoberfest`. Press it again and it will be at `Projects`. - -And by pressing Ctrl + Shift + Right, the `$CWD` will be from `Projects` to `Hacktoberfest`. Press it again and it will be at `oh-my-zsh`. - -Here's a example history table with the same accessed directories like above: - -| Current `$CWD` | Key press | New `$CWD` | -| --------------- | ----------------------------------------------------- | --------------- | -| `oh-my-zsh` | Ctrl + Shift + Left | `Hacktoberfest` | -| `Hacktoberfest` | Ctrl + Shift + Left | `Projects` | -| `Projects` | Ctrl + Shift + Left | `~` | -| `~` | Ctrl + Shift + Right | `Projects` | -| `Projects` | Ctrl + Shift + Right | `Hacktoberfest` | -| `Hacktoberfest` | Ctrl + Shift + Right | `oh-my-zsh` | -| `oh-my-zsh` | Ctrl + Shift + Right | `~` | - -Note the last traversal, when pressing Ctrl + Shift + Right on a last known `$CWD`, it will change back to the first known `$CWD`, which in the example is `~`. - -Here's an asciinema cast demonstrating the example above: - -[![asciicast](https://asciinema.org/a/204406.png)](https://asciinema.org/a/204406) - -## Functions - -| Function | Description | -| -------------------- | --------------------------------------------------------------------------------------------------------- | -| `insert-cycledleft` | Change `$CWD` to the previous known stack, binded on Ctrl + Shift + Left | -| `insert-cycledright` | Change `$CWD` to the next known stack, binded on Ctrl + Shift + Right | - -## Rebinding keys - -You can bind these functions to other key sequences, as long as you know the bindkey sequence. For example, these commands bind to Alt + Shift + Left / Right in `xterm-256color`: - -```zsh -bindkey '^[[1;4D' insert-cycledleft -bindkey '^[[1;4C' insert-cycledright -``` - -You can get the bindkey sequence by pressing Ctrl + V, then pressing the keyboard shortcut you want to use. diff --git a/zsh/oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh b/zsh/oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh deleted file mode 100644 index bb69f6b..0000000 --- a/zsh/oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh +++ /dev/null @@ -1,54 +0,0 @@ -# enables cycling through the directory stack using -# Ctrl+Shift+Left/Right -# -# left/right direction follows the order in which directories -# were visited, like left/right arrows do in a browser - -# NO_PUSHD_MINUS syntax: -# pushd +N: start counting from left of `dirs' output -# pushd -N: start counting from right of `dirs' output - -switch-to-dir () { - setopt localoptions nopushdminus - [[ ${#dirstack} -eq 0 ]] && return 1 - - while ! builtin pushd -q $1 &>/dev/null; do - # We found a missing directory: pop it out of the dir stack - builtin popd -q $1 - - # Stop trying if there are no more directories in the dir stack - [[ ${#dirstack} -eq 0 ]] && return 1 - done -} - -insert-cycledleft () { - switch-to-dir +1 || return - - local fn - for fn (chpwd $chpwd_functions precmd $precmd_functions); do - (( $+functions[$fn] )) && $fn - done - zle reset-prompt -} -zle -N insert-cycledleft - -insert-cycledright () { - switch-to-dir -0 || return - - local fn - for fn (chpwd $chpwd_functions precmd $precmd_functions); do - (( $+functions[$fn] )) && $fn - done - zle reset-prompt -} -zle -N insert-cycledright - - -# These sequences work for xterm, Apple Terminal.app, and probably others. -# Not for rxvt-unicode, but it doesn't seem differentiate Ctrl-Shift-Arrow -# from plain Shift-Arrow, at least by default. -# iTerm2 does not have these key combinations defined by default; you will need -# to add them under "Keys" in your profile if you want to use this. You can do -# this conveniently by loading the "xterm with Numeric Keypad" preset. -bindkey "\e[1;6D" insert-cycledleft -bindkey "\e[1;6C" insert-cycledright -- cgit v1.2.3-59-g8ed1b