2013-10-27 00:05:17 +08:00
|
|
|
# zsh-autosuggestions
|
|
|
|
|
2013-10-30 03:08:56 +08:00
|
|
|
> [Fish](http://fishshell.com/)-like fast/unobtrusive autosuggestions for zsh.
|
|
|
|
> [Shelr demo](http://shelr.tv/records/527007a99660803c5d000048).
|
2013-10-27 00:05:17 +08:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
2013-11-08 07:17:10 +08:00
|
|
|
```sh
|
2013-10-27 00:05:17 +08:00
|
|
|
git clone git://github.com/tarruda/zsh-autosuggestions ~/.zsh-autosuggestions
|
2013-11-08 07:17:10 +08:00
|
|
|
|
2013-10-27 00:05:17 +08:00
|
|
|
cat >> ~/.zshrc << "EOF"
|
|
|
|
source ~/.zsh-autosuggestions/autosuggestions.zsh
|
2013-11-08 07:17:10 +08:00
|
|
|
|
2013-10-27 00:05:17 +08:00
|
|
|
# Enable autosuggestions automatically
|
|
|
|
zle-line-init() {
|
2013-10-30 01:32:51 +08:00
|
|
|
zle autosuggest-start
|
2013-10-27 00:05:17 +08:00
|
|
|
}
|
|
|
|
zle -N zle-line-init
|
2013-11-08 07:17:10 +08:00
|
|
|
|
2013-11-08 19:20:57 +08:00
|
|
|
# use ctrl+t to toggle autosuggestions(hopefully this wont be needed as
|
|
|
|
autosuggestions is designed to be unobtrusive)
|
2013-10-30 01:32:51 +08:00
|
|
|
bindkey '^T' autosuggest-toggle
|
2013-11-08 19:20:57 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
Any widget that moves the cursor to the right(forward-word, forward-char...)
|
|
|
|
will accept parts of the suggested text. For example, vi-mode users can do
|
|
|
|
this:
|
2013-11-08 07:17:10 +08:00
|
|
|
|
2013-11-08 19:20:57 +08:00
|
|
|
```sh
|
|
|
|
# Accept suggestions without leaving insert mode
|
|
|
|
bindkey '^f' vi-forward-word
|
|
|
|
# or
|
|
|
|
bindkey '^f' vi-forward-blank-word
|
2013-10-27 00:05:17 +08:00
|
|
|
```
|
2013-11-08 19:20:57 +08:00
|
|
|
|
|
|
|
Emacs-mode users can simply use alt+f which is bound to forward-word
|
|
|
|
|
|
|
|
The [zsh-history-substring-search](https://github.com/zsh-users/zsh-history-substring-search)
|
|
|
|
plugin is also recommended.
|