Zsh completion support for coc.nvim using native zsh completion system
npm install coc-zshellZsh completion support for coc.nvim using the native zsh completion system.
vim -c ":CocInstall coc-zshell"
This extension provides zsh autocompletion directly in your Vim/Neovim buffers
when editing zsh files. It leverages the native zsh completion system,
including brew completions and any custom completion paths you've configured
beside builtin completions.
This extension respects custom zsh configuration directories. If you have a
custom ZDOTDIR set in your ~/.zshenv:
``zsh`
export ZDOTDIR="$HOME/.config/zsh"
The extension will correctly load your zsh configuration and all associated
completions (tested on macOS).
If you use vi-mode in your terminal, this extension becomes particularly
powerful. Add this to your .zshrc:
`zsh
export KEYTIMEOUT=1
autoload -Uz add-zsh-hook
autoload -Uz edit-command-line
zle -N edit-command-line
bindkey -v
bindkey -M vicmd 'v' edit-command-line
bindkey '^A' beginning-of-line
bindkey '^E' end-of-line
function zle-keymap-select {
case ${KEYMAP} in
(vicmd) echo -ne '\e1 q';;
(main|viins) echo -ne '\e[5 q';;
esac
}
zle -N zle-keymap-select
`
With this setup, press ESC in your terminal to enter normal mode (just likev
in vim), then press to open the current command line in a vim buffer. Edit
your zsh commands with full autocompletion support, save and close to execute.
Two options are available:
- coc-zshell.enabled (boolean, default: true) - Enable/disable thecoc-zshell.timeout
extension
- (number, default: 5000) - Timeout for completion
requests in milliseconds
This extension builds heavily on the excellent work from:
- [coc-zsh by tjdevries
- vim-zsh-completion by
Valodim
I've made minimal modifications to support brew completions and custom
ZDOTDIR` configurations.
Contributions, issues, and feedback are warmly welcomed! This extension has
primarily been tested on macOS. If you're on Linux and encounter any issues (or
if it works perfectly), please let me know.
!Demo 1
!Demo 2
!Demo 3
!Demo 4
!Demo 5
MIT