I want to be able to enable and disable global-company-mode by calling elisp functions in my init file.

Could I use (global-company-mode 1) to enable and (global-company-mode -1) to disable

Does this mean that I can do (global-company-mode 1) and (global-company-mode -1) without using the hook way (add-hook 'after-init-hook 'global-company-mode).

  • Yes, you can avoid the hook. Aug 2, 2022 at 14:35
  • global-company-mode is just a normal elisp function, am I right?
    – Dilna
    Aug 2, 2022 at 14:39
  • Yes, you should be able to invoke (global-company-mode 1) from Elisp. Aug 2, 2022 at 14:46
  • You would generally NOT invoke a global minor mode from a hook. A global minor mode is designed to turn on the corresponding minor mode globally. There is no point doing that from a hook: hooks are designed to enable minor modes (and other things) selectively, e.g. by turning it on for all buffers of a particular major mode.
    – NickD
    Aug 2, 2022 at 15:09
  • company-mode should be revisited because the documentation of company states that to have company-mode in all buffers, the following must be added to your init file: (add-hook 'after-init-hook 'global-company-mode).
    – Dilna
    Aug 2, 2022 at 15:47


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.