Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrjohannchang/fz.sh
Cli shell plugin, the missing fuzzy tab completion feature for the z jump around command.
https://github.com/mrjohannchang/fz.sh
autocompletion autojump bash bash-completion cd completion fasd fuzzy fuzzy-search j jump oh-my-zsh pluging tab-completion z zplug zsh zsh-completion zsh-plugin
Last synced: 4 days ago
JSON representation
Cli shell plugin, the missing fuzzy tab completion feature for the z jump around command.
- Host: GitHub
- URL: https://github.com/mrjohannchang/fz.sh
- Owner: mrjohannchang
- License: mpl-2.0
- Created: 2017-03-18T07:20:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-25T23:44:23.000Z (8 months ago)
- Last Synced: 2024-08-13T22:15:52.098Z (3 months ago)
- Topics: autocompletion, autojump, bash, bash-completion, cd, completion, fasd, fuzzy, fuzzy-search, j, jump, oh-my-zsh, pluging, tab-completion, z, zplug, zsh, zsh-completion, zsh-plugin
- Language: Shell
- Homepage:
- Size: 4.5 MB
- Stars: 518
- Watchers: 5
- Forks: 25
- Open Issues: 8
-
Metadata Files:
- Readme: README-zh.md
- License: LICENSE
Awesome Lists containing this project
README
# fz
完全不須再綁定其他熱鍵,fz 無縫接軌地為 [z](https://github.com/rupa/z) 的 tab 自動完成(自動補全、自動補完、tab completion)加上模糊搜尋功能。使用者可以透過此程式在歷史目錄中自由跳躍。支援 Bash 與 zsh。
* [展示](#展示)
* [安裝程序](#安裝程序)
* [macOS](#macos)
* [Bash](#bash)
* [zsh](#zsh)
* [Ubuntu](#ubuntu)
* [Bash](#bash-1)
* [zsh](#zsh-1)
* [使用說明](#使用說明)
* [相關資訊](#相關資訊)
* [授權條款](#授權條款)## 展示
![示意圖](fz-demo.gif)
## 安裝程序
由 shell 中 source 對應的程式檔案即可使用。但因本程式仰仗 [z](https://github.com/rupa/z) 與 [fzf](https://github.com/junegunn/fzf),故此二者亦須一併安裝至系統中。
注意:`fz` 需在 `z` 之後 source。
### macOS
#### Bash
1. 經由 [Homebrew](https://brew.sh/) 安裝 fzf:
```sh
brew install fzf
```2. 下載 z 與 fz:
```sh
mkdir ~/.bash_completion.d
curl "https://raw.githubusercontent.com/rupa/z/master/{z.sh}" \
-o ~/.bash_completion.d/"#1"
curl "https://raw.githubusercontent.com/changyuheng/fz/master/{fz.sh}" \
-o ~/.bash_completion.d/z"#1"
```3. 在 `~/.bashrc` 中加入以下資訊:
```sh
if [ -d ~/.bash_completion.d ]; then
for file in ~/.bash_completion.d/*; do
. $file
done
fi
```#### zsh
1. 經由 [Homebrew](https://brew.sh/) 安裝 fzf:
```sh
brew install fzf
```2. 透過 [zplug](https://github.com/zplug/zplug) 部署 z 與 fz。將以下資訊加入 `~/.zshrc`:
```sh
zplug "changyuheng/fz", defer:1
zplug "rupa/z", use:z.sh
```### Ubuntu
#### Bash
1. 安裝 fzf:
```sh
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
```2. 下載 z 與 fz:
```sh
mkdir ~/.bash_completion.d
curl "https://raw.githubusercontent.com/rupa/z/master/{z.sh}" \
-o ~/.bash_completion.d/"#1"
curl "https://raw.githubusercontent.com/changyuheng/fz/master/{fz.sh}" \
-o ~/.bash_completion.d/z"#1"
```3. 在 `~/.bashrc` 中加入以下資訊:
```sh
if [ -d ~/.bash_completion.d ]; then
for file in ~/.bash_completion.d/*; do
. $file
done
fi
```#### zsh
1. 安裝 fzf:
```sh
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
```2. 透過 [zplug](https://github.com/zplug/zplug) 部署 z 與 fz。將以下資訊加入 `~/.zshrc`:
```sh
zplug "changyuheng/fz", defer:1
zplug "rupa/z", use:z.sh
```## 使用說明
```
z [dir name slug]
zz [dir name slug]
```- 程式的功能與 [z](https://github.com/rupa/z) 雷同。`zz` 指令限制搜尋範圍為當前目錄及其子目錄。
- `tab`/`shift-tab`、`ctrl-n`/`ctrl-p`、`ctrl-j`/`ctrl-k` 選擇下一個、上一個選項。`Enter` 確定。
- `FZ_CMD=z` 指定指令名稱。預設為 `z`。
- `FZ_SUBDIR_CMD=zz` 指定指令名稱。預設為 `zz`。
- `FZ_SUBDIR_TRAVERSAL=0` 關閉子目錄補完。預設為開啟。
- `FZ_CASE_INSENSITIVE=0` 關閉子目錄補完不限大小寫。預設為開啟。
- `FZ_ABBREVIATE_HOME=0` 不展開 `~` 變數。預設為展開。
- `FZ_HISTORY_CD_CMD=_zlua` 同 [z.lua](https://github.com/skywind3000/z.lua) 協同工作。## 相關資訊
- [cdr](https://github.com/willghatch/zsh-cdr) + [zaw](https://github.com/zsh-users/zaw)
- fzf 的[自動完成說明](https://github.com/junegunn/fzf#fuzzy-completion-for-bash-and-zsh)及其[維基頁面](https://github.com/junegunn/fzf/wiki)
- [fasd](https://github.com/clvv/fasd)
- [autojump](https://github.com/wting/autojump)
- [z.lua](https://github.com/skywind3000/z.lua)
- [命令行上的narrowing(随着输入逐步减少备选项)工具](http://www.cnblogs.com/bamanzi/p/cli-narrowing-tools.html)