Zsh Autosuggestion
Plugin 2 — Add ZSH-AutoSuggestion Plugin. This plugin auto suggests any of the previous commands. Pretty handy! To select the completion, simply press → key.
Zsh-autosuggestions -like fast/unobtrusive autosuggestions for zsh. It suggests commands as you type, based on command history. Installation Requirements: Zsh v4.3.11 or later Manual.
Clone this repository somewhere on your machine. This guide will assume /.zsh/zsh-autosuggestions.
Git clone /.zsh/zsh-autosuggestions. Add the following to your.zshrc: source /.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh.
Zsh Autosuggestions Tab Completion
Start a new terminal session. Oh My Zsh.
Clone this repository into $ZSHCUSTOM/plugins (by default /.oh-my-zsh/custom/plugins) git clone $ZSHCUSTOM/plugins/zsh-autosuggestions. Add the plugin to the list of plugins for Oh My Zsh to load: plugins=(zsh-autosuggestions). Start a new terminal session. Arch Linux via the AUR.
Install the or the packages from the. Pacaur -S zsh-autosuggestions or pacaur -S zsh-autosuggestions-git. Add the following to your.zshrc: source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh.
Start a new terminal session. MacOS via Homebrew. Install the zsh-autosuggestions package using. Brew install zsh-autosuggestions. Add the following to your.zshrc: source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh.
Start a new terminal session. Usage As you type commands, you will see a completion offered after the cursor in a muted gray color. This color can be changed by setting the ZSHAUTOSUGGESTHIGHLIGHTSTYLE variable. If you press the key ( forward-char widget) or End ( end-of-line widget) with the cursor at the end of the buffer, it will accept the suggestion, replacing the contents of the command line buffer with the suggestion. If you invoke the forward-word widget, it will partially accept the suggestion up to the point that the cursor moves to.
Configuration You may want to override the default global config variables after sourcing the plugin. Default values of these variables can be found. Note: If you are using Oh My Zsh, you can put this configuration in a file in the $ZSHCUSTOM directory. See their comments on. Suggestion Highlight Style Set ZSHAUTOSUGGESTHIGHLIGHTSTYLE to configure the style that the suggestion is shown with. The default is fg=8.
Suggestion Strategy Set ZSHAUTOSUGGESTSTRATEGY to choose the strategy for generating suggestions. There are currently two to choose from:. default: Chooses the most recent match.
matchprevcmd: Chooses the most recent match whose preceding history item matches the most recently executed command. Note that this strategy won't work as expected with ZSH options that don't preserve the history order such as HISTIGNOREALLDUPS or HISTEXPIREDUPSFIRST. Widget Mapping This plugin works by triggering custom behavior when certain are invoked. You can add and remove widgets from these arrays to change the behavior of this plugin:.
ZSHAUTOSUGGESTCLEARWIDGETS: Widgets in this array will clear the suggestion when invoked. ZSHAUTOSUGGESTACCEPTWIDGETS: Widgets in this array will accept the suggestion when invoked. ZSHAUTOSUGGESTEXECUTEWIDGETS: Widgets in this array will execute the suggestion when invoked. ZSHAUTOSUGGESTPARTIALACCEPTWIDGETS: Widgets in this array will partially accept the suggestion when invoked. ZSHAUTOSUGGESTIGNOREWIDGETS: Widgets in this array will not trigger any custom behavior. Widgets that modify the buffer and are not found in any of these arrays will fetch a new suggestion after they are invoked.
Note: A widget shouldn't belong to more than one of the above arrays. Disabling suggestion for large buffers Set ZSHAUTOSUGGESTBUFFERMAXSIZE to an integer value to disable autosuggestion for large buffers. The default is unset, which means that autosuggestion will be tried for any buffer size. Recommended value is 20. This can be useful when pasting large amount of text in the terminal, to avoid triggering autosuggestion for too long strings.
Enable Asynchronous Mode As of v0.4.0, suggestions can be fetched asynchronously using the zsh/zpty module. To enable this behavior, set the ZSHAUTOSUGGESTUSEASYNC variable (it can be set to anything). Key Bindings This plugin provides a few widgets that you can use with bindkey:. autosuggest-accept: Accepts the current suggestion. autosuggest-execute: Accepts and executes the current suggestion. autosuggest-clear: Clears the current suggestion. autosuggest-fetch: Fetches a suggestion (works even when suggestions are disabled).
autosuggest-disable: Disables suggestions. autosuggest-enable: Re-enables suggestions.
autosuggest-toggle: Toggles between enabled/disabled suggestions. For example, this would bind ctrl + space to accept the current suggestion.
Bindkey '^ ' autosuggest-accept Troubleshooting If you have a problem, please search through to see if someone else has already reported it. Reporting an Issue Before reporting an issue, please try temporarily disabling sections of your configuration and other plugins that may be conflicting with this plugin to isolate the problem. When reporting an issue, please include:.
The smallest, simplest.zshrc configuration that will reproduce the problem. See for a good example of what this means. The version of zsh you're using ( zsh -version). Which operating system you're running Uninstallation. Remove the code referencing this plugin from /.zshrc. Remove the git repository from your hard drive rm -rf /.zsh/zsh-autosuggestions # Or wherever you installed Development Build Process Edit the source files in src/.
Run make to build zsh-autosuggestions.zsh from those source files. Pull Requests Pull requests are welcome! If you send a pull request, please:.
Request to merge into the develop branch ( NOT master). Match the existing coding conventions. Include helpful comments to keep the barrier-to-entry low for people new to the project. Write tests that cover your code as much as possible. Testing Tests are written in ruby using the framework. They use to drive a pseudoterminal, sending simulated keystrokes and making assertions on the terminal content. Test files live in spec/.
To run the tests, run make test. To run a specific test, run TESTS=spec/somespec.rb make test. You can also specify a zsh binary to use by setting the TESTZSHBIN environment variable (ex: TESTZSHBIN=/bin/zsh make test).
License This project is licensed under. For the full text of the license, see the file.
about 2 years zsh-autosuggestion breaks zle-isearch-update widget. about 2 years Sources /.zshrc then the shell would be broken. about 2 years A little advice.
about 2 years zsh-autosuggestions triggers '(eval):zle:1: not enough arguments for -C' error. about 2 years zsh-autosuggestions breaks 'zstyle completion menu select' highlighting.
about 2 years Cursor will disappear if there is matched command in neovim terminal. over 2 years Can be zsh-autosuggestions suppressed for one command?. over 2 years Suggestion: reverse-i-search functionality.
over 2 years Suggestion added to the end of pasted text. over 2 years Partial accept not working on vi-forward-word when in vi-mode normal mode. over 2 years $POSTDISPLAY not available anymore.
over 2 years How to execute widgets from inside functions?. over 2 years Fetch Suggestions Asynchronously. over 2 years Discarded autosuggestions are not cleared when using bhilburn/powerlevel9k theme. over 2 years expansion doesn't trigger syntax highlighting.
over 2 years Odd Text Wrapping with powerline-shell. over 2 years Does not play well with safe-paste plugin from OMZ. over 2 years Pasting is slow when using bracketed-paste-magic.
over 2 years Problem with and IGNOREEOF. Transcend 2tb storejet 100 portable hard drive for mac -. almost 3 years Slow speed of cd. almost 3 years Segfault after sourcing zshrc again - conflict with zsh-autosuggestions even when sourced in right order. almost 3 years Suggest Program Options/Flags. over 3 years oh-my-zsh plugin. Add a widget to accept and execute the current suggestion.
Implement asynchronous suggestions. play well with zsh-syntax-highlight. suspend suggestions on fast changes.
Fish Zsh
Adjust plugin.zsh file to run on zsh 5.1 in mSYS2. v0.3.2. Use default value of ZSHAUTOSUGGESTHIGHLIGHTSTYLE. v0.3.3. Asynchronous suggestions. Don't bind any zle-.
methods. Behave correctly in environments without zsh/zpty. Don't break kill ring rotation.
Zsh Autocomplete
WIP: When using vi-mode and zsh-syntax-highlighting, command is not highlighted after accepting suggestion. Asciidoc code documentation generated by Zshelldoc & required Makefiles. Add new 'predefined' strategy for zsh-autosuggestions.