3.7 KiB
Auto-Completion configuration layer for Spacemacs
Table of Contents
Description
This layer provides auto-completion to Spacemacs.
The following completion engines are supported:
Install
To use this configuration layer add it to your ~/.spacemacs
(setq-default dotspacemacs-configuration-layers '(auto-completion))
Company variables
To use tab instead of enter to complete your selection,
dotspacemacs/init
set auto-completion-use-tab-instead-of-enter
to
t
, for example:
(setq-default dotspacemacs-configuration-layers
'(auto-completion :variables
auto-completion-use-tab-instead-of-enter t))
To enable docstring tooltips set auto-completion-enable-company-help-tooltip
to t
(setq-default dotspacemacs-configuration-layers
'(auto-completion :variables
auto-completion-enable-company-help-tooltip t))
## Configure
### Remove global activation of company
TODO (when use-package hooks will be used)
### Replacing company by auto-complete
You can disable company by adding it to the `dotspacemacs-excluded-packages`
variable, then you are free to enable auto-complete globally.
### Add auto-completion in a layer
Here is an example to add `company` auto-completion to python buffer:
In `config.el`:
```elisp
;; Define the buffer local company backend variable
(spacemacs|defvar-company-backends python-mode)
In packages.el
:
;; Add the relevant packages to the layer
(defvar python-packages
'(...
company
company-anaconda
...))
;; Configure the packages
(when (configuration-layer/layer-usedp 'auto-completion)
;; Hook company to python-mode
(defun python/post-init-company ()
(spacemacs|add-company-hook python-mode))
;; Add the backend to the major-mode specific backend list
(defun python/init-company-anaconda ()
(use-package company-anaconda
:if (configuration-layer/package-usedp 'company)
:defer t
:init (push 'company-anaconda company-backends-python-mode))))
Key Bindings
Company
Key Binding | Description
---------------------|------------------------------------------------------------ C-j | go down in company dropdown menu C-k | go up in company dropdown menu C-/ | search in company dropdown C-M-/ | filter the company dropdown menu C-d | open minibuffer with documentation of thing at point in company dropdown
Auto-complete
Key Binding | Description
-------------------|------------------------------------------------------------ C-j | select next candidate C-k | select previous candidate TAB | expand selection or select next candidate S-TAB | select previous candidate return | complete word, if word is already completed insert a carriage return