diff --git a/plugins/zsh-navigation-tools/README.md b/plugins/zsh-navigation-tools/README.md index 9fd2d5414..bdbfac976 100644 --- a/plugins/zsh-navigation-tools/README.md +++ b/plugins/zsh-navigation-tools/README.md @@ -3,11 +3,25 @@ ![ZSH 5.0.0](https://img.shields.io/badge/zsh-v5.0.0-orange.svg?style=flat-square) [![Gitter][gitter-image]][gitter-link] -![znt logo](http://imageshack.com/a/img905/2629/WK9qjN.png) +![znt logo](https://imageshack.com/a/img905/2629/WK9qjN.png) # Zsh Navigation Tools -Also check out [![ZCA](http://imageshack.com/a/img911/8084/qSpO8a.png) Zsh Command Architect](https://github.com/zdharma-continuum/zsh-cmd-architect) +Set of tools like `n-history` – multi-word history searcher, `n-cd` – directory +bookmark manager, `n-kill` – `htop` like kill utility, and more. Based on +`n-list`, a tool generating selectable curses-based list of elements that has +access to current `Zsh` session, i.e. has broad capabilities to work together +with it. Feature highlights include incremental multi-word searching, approximate +matching, ANSI coloring, themes, unique mode, horizontal scroll, grepping, advanced +history management and various integrations with `Zsh`. + +To use it, add `zsh-navigation-tools` to the plugins array in your zshrc file: + +```zsh +plugins=(... zsh-navigation-tools) +``` + +Also check out [![ZCA](https://imageshack.com/a/img911/8084/qSpO8a.png) Zsh Command Architect](https://github.com/zdharma-continuum/zsh-cmd-architect) and [Zconvey](https://github.com/zdharma-continuum/zconvey) @@ -18,189 +32,10 @@ Videos: Screenshots: -![n-history](http://imageshack.com/a/img921/5046/bqr0mk.png) +![n-history](https://imageshack.com/a/img921/5046/bqr0mk.png) -![n-history](http://imageshack.com/a/img633/9905/WzfSdl.gif) +![n-history](https://imageshack.com/a/img633/9905/WzfSdl.gif) -Set of tools like `n-history` – multi-word history searcher, `n-cd` – directory -bookmark manager, `n-kill` – `htop` like kill utility, and more. Based on -`n-list`, a tool generating selectable curses-based list of elements that has -access to current `Zsh` session, i.e. has broad capabilities to work together -with it. Feature highlights include incremental multi-word searching, approximate -matching, ANSI coloring, themes, unique mode, horizontal scroll, grepping, advanced -history management and various integrations with `Zsh`. - -## News -* 06-10-2016 - - **Tmux-integration** – `Ctrl-B H` in Tmux to open `n-history` in new window. - Then select history entry, it will be copied to the original Tmux window. - Use this to execute local commands on remote hosts: - - ![tmux integration](http://imageshack.com/a/img922/4760/oyX7eN.gif) - - All that is needed is this line added to `~/.tmux.conf`: - - ``` - bind h run-shell -b "$ZNT_REPO_DIR/doc/znt-tmux.zsh" - ``` - - or – if Homebrew or other package manager is used: - - ``` - bind h run-shell -b "$ZNT_REPO_DIR/znt-tmux.zsh" - ``` - -* 16-05-2016 - - `n-kill` has completion. It proposes **words** from what's in `ps -A`. Giving `n-kill` - arguments means grepping – it will start only with matching `ps` entries. - -* 15-05-2016 - - Fixed problem where zsh-syntax-highlighting could render `n-history` slow (for - long history entries). - -* 14-05-2016 - - Configuration can be set from `zshrc` (starting from `v2.1.12`). Documentation is [below](#configuration). Example: - - ```zsh - znt_list_instant_select=1 - znt_list_border=0 - znt_list_bold=1 - znt_list_colorpair="green/black" - znt_functions_keywords=( "zplg" "zgen" "match" ) - znt_cd_active_text="underline" - znt_env_nlist_coloring_color=$'\x1b[00;33m' - znt_cd_hotlist=( "~/.config/znt" "/usr/share/zsh/site-functions" "/usr/share/zsh" - "/usr/local/share/zsh/site-functions" "/usr/local/share/zsh" - "/usr/local/bin" ) - ``` - -* 10-05-2016 - - Search query rotation – use `Ctrl-A` to rotate entered words right. - Words `1 2 3` become `3 1 2`. - -* 09-05-2016 - - New feature: n-help tool, available also from n-history via `H` key. It - displays help screen with various information on `ZNT`. - - ![n-help](http://imageshack.com/a/img922/7595/MvtJdI.gif) - -* 08-05-2016 - - Approximate matching – pressing `f` or `Ctrl-F` will enter "`FIX`" mode, - in which `1` or `2` errors are allowed in what's searched. This utilizes - original Zsh approximate matching features and is intended to be used - after entering search query, when a typo is discovered. - - ![fix mode](http://imageshack.com/a/img921/5756/64lFnv.gif) - -* 06-05-2016 - - Private history can be edited. Use `e` key or `Ctrl-E` for that when in - n-history. Your `$EDITOR` will start. This is a way to have handy set of - bookmarks prepared in private history's file. - - Border can be disabled. Use following snippet in `~/.config/znt/n-list.conf` - or any other tool-targetted config file: - - ```zsh - # Should draw the border? - local border=0 - ``` - -* 30-04-2016 - - New feature: color themes. Use `Ctrl-T` and `Ctrl-G` to browse predefined - themes. They are listed in [~/.config/znt/n-list.conf](https://github.com/zdharma-continuum/zsh-navigation-tools/blob/master/.config/znt/n-list.conf). - Use the file to permanently set a color scheme. Also, I sent a patch to Zsh developers - and starting from Zsh > 5.2 (not yet released) supported will be 256 colors. - The file [~/.config/znt/n-list.conf](https://github.com/zdharma-continuum/zsh-navigation-tools/blob/master/.config/znt/n-list.conf) - already has set of 256-color themes prepared :) - - ![themes](http://imageshack.com/a/img924/4310/EbRh30.gif) - -* 29-04-2016 - - New feature: private history – n-history tracks selected history entries, - exposes them via new view (activated with `F1`). It is shared across all - sessions - -* 28-04-2016 - - New features: - 1. New n-history view (activated with `F1`): Most Frequent History Words - 2. Predefined search keywords – use F2 to quickly search for chosen - keywords (video: [https://youtu.be/DN9QqssAYB8](https://youtu.be/DN9QqssAYB8)) - 3. Configuration option for doing instant selection in search mode - -## Installation - -``` -sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma-continuum/zsh-navigation-tools/master/doc/install.sh)" -``` - -To update run the command again. - -`ZNT` will be installed at `~/.config/znt/zsh-navigation-tools`, config files will be copied to `~/.config/znt`. `.zshrc` -will be updated with only `8` lines of code, which will be added at the bottom. - -After installing and reloading shell give `ZNT` a quick try with `Ctrl-R` – this keyboard shortcut will open `n-history`. - -## Installation With [Zinit](https://github.com/zdharma-continuum/zinit) -Add `zinit load zdharma-continuum/zsh-navigation-tools` to `.zshrc`. The config files will be in `~/.config/znt`. - -## Installation With Zgenom/Zgen - -Add `zgen load zdharma-continuum/zsh-navigation-tools` to `.zshrc` and issue a `zgen reset` (this assumes that there is a proper `zgen save` construct in `.zshrc`). -The config files will be available in `~/.config/znt`. - -## Installation With Antigen -Add `antigen bundle zdharma-continuum/zsh-navigation-tools` to `.zshrc`. There also -should be `antigen apply`. The config files will be in `~/.config/znt`. - -## Single File Manual Installation - -Running script `doc/generate_single_file` will create single-file version of `ZNT`. -It can be sourced from `.zshrc`. Don't forget about configuration files as described -above. - -## Manual Installation - -After extracting `ZNT` to `{some-directory}` add following two lines -to `~/.zshrc`: - -```zsh -fpath+=( {some-directory} ) -source "{some-directory}/zsh-navigation-tools.plugin.zsh" -``` - -As you can see, no plugin manager is needed to use the `*.plugin.zsh` -file. The above two lines of code are all that almost **all** plugin -managers do. In fact, what's actually needed is only: - -```zsh -source "{some-directory}/zsh-navigation-tools.plugin.zsh" -``` - -because `ZNT` detects if it is used by **any** plugin manager and can -handle `$fpath` update by itself. - -## Truly Manual Installation -Copy (or link) all `n-*` and `znt-*` files to **/usr/share/zsh/site-functions/** -(or **/usr/local/share/zsh/site-functions/**, check with `echo $fpath[1]`) and then add: - - autoload n-list n-cd n-env n-kill n-panelize n-options n-aliases n-functions n-history n-help - -to `~/.zshrc`. - -Create aliases to avoid typing of the minus sign "-": - -```zsh -alias naliases=n-aliases ncd=n-cd nenv=n-env nfunctions=n-functions nhistory=n-history -alias nkill=n-kill noptions=n-options npanelize=n-panelize nhelp=n-help -``` - -Don't forget to copy [configuration files](https://github.com/zdharma-continuum/zsh-navigation-tools/tree/master/.config/znt). They should go to `~/.config/znt`. Moreover, `n-cd` works together with option `AUTO_PUSHD` and you should have: - -```zsh -setopt AUTO_PUSHD -``` - -in `.zshrc` (also recommend `PUSHD_IGNORE_DUPS`). Without the option `n-cd` -will just work as incremental searcher of directory bookmarks. ## History Widget