NonGNU ELPA - vcomplete


Visual completions
vcomplete-1.2.1.tar, 2022-May-24, 40.0 KiB
Vcomplete Mailing List <~dsemy/>
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET vcomplete RET

Full description

Vcomplete - Visual completions

Vcomplete provides a minor mode enhancing the default completion
list buffer, providing visual aids for selecting completions.


From ELPA: (not available yet)

M-x package-install RET vcomplete RET

From the repository:

Clone the repository:

$ git clone ''

Build the package:

$ cd vcomplete

$ make

Install the package:

M-x package-install-file RET /path/to/clone/vcomplete-VERSION.tar RET


Enable ‘vcomplete-mode’:


For use-package users:

(use-package vcomplete

When vcomplete-mode is active:
- The completion list buffer opens and updates automatically (see
- The completion list buffer can be controlled through the
  minibuffer (during minibuffer completion) or the current buffer
  (during in-buffer completion), if it's visible.
- The currently selected completion is highlighted in the completion
  list buffer.

C-n moves point to the next completion.

C-p moves point to the previous completion.

M-RET (C-M-m) chooses the completion at point.

More commands can be added through ‘vcomplete-command-map’:

(define-key vcomplete-command-map [?\C-a] #'my-command)

You can customize ‘vcomplete-mode’ using the customize interface:

M-x customize-group RET vcomplete RET

For more information see the (Vcomplete) info node.


Copyright © 2021-2022 Daniel Semyonov <>
Licensed under GPLv3 or later.


Vcomplete NEWS -- history of user-visible changes. -*- mode: outline -*-
See the end of the file for an explanation of the versioning scheme.

* 1.2.1

** Remove Embark integration.
Embark integration broke in a non-trivial way, so it has been removed
due to a lack of interest in maintaining it.  This integration is
compatible with older versions of Embark (and will continue to
be compatible with Vcomplete for versions before 2.0) so it is
possible to install it manually from a previous release.

* 1.2

** Fix the completion list window still highlighting completions in some
cases after 'vcomplete-mode' is disabled.

** Improve Embark integration.
Fix Embark 'non-edit commands' not immediately exiting when
'vcomplete-auto-update' is t.
Add (auto loaded) 'vcomplete-embark-mode' which enables Embark
It is no longer required to explicitly load 'vcomplete-embark.el' to
enable this integration.

** Add 'vcomplete-search-range'.
This custom variable is used to control in which frames the completion
list buffer is searched for during completion.

* 1.1

** Add the 'vcomplete-highlight' face.
This face is used to highlight completions. By default, it is the same
as the built-in 'highlight' face.

** Add 'vcomplete-no-update-commands'.
This custom variable is used to control which commands shouldn't cause
the completions list buffer to update.

** Embark support has been moved to a separate file.
It must be loaded explicitly (using '(require 'vcomplete-embark)' or

* 1.0

** Make auto updating the completion list buffer more responsive.

** Support commands which use 'completion-in-region' in the minibuffer.

** Add basic Embark support.

** Highlight the completion at point in the completion list buffer
even when using normal navigation commands.

** Remove 'vcomplete-kill-buffer'.
This was done as part of an effort to simplify the code base (since
third party solutions to completion actions exist).

** Optionally automatically update the completion list buffer.
See 'vcomplete-auto-update's documentation string for more information.

* 0.1

** Initial version.

* Versioning scheme
Vcomplete's versioning scheme is inspired by semver (
Each version number is of the form MAJOR.MINOR.PATCH (patch may be
omitted if 0).
The MAJOR version is bumped when a user facing variable or function
changes in a way that could cause previous user configuration to
break (where user configuration considered is configuration done
through the customize interface).
A MAJOR version bump is very unlikely.
The MINOR version is bumped when a feature is added in a non-breaking
The PATCH version is bumped when no feature is added (e.g. a version
with only fixes, or changes to documentation).

Note that versions before 1.0 did not follow this scheme.