I want to use the vhdl-mode in Emacs. I can use the templates when working with the meta key like:

M-x vhdl-template-process

If i want to use the corresponding key binding like:

C-c C-t P

it won't work.

I am new to Emacs, so it might be kind of a general problem working with some package.

  • Are you in a buffer that's in vhdl-mode?
    – user12563
    Jul 15, 2018 at 16:41
  • Provide a simple, step-by-step recipe to reproduce the problem, saying what you do and what you see at each step and what you expect/want to see instead. Start from emacs -Q (no init file).
    – Drew
    Jul 15, 2018 at 16:55
  • Yes, when opening the .vhd file it should automatically start vhdl-mode. The syntax is highlited correctly which indicates vhdl-mode is on, and when entering the commands using meta key and string commands they work properly, just the key binding doesn't work. 1. open emcas from terminal 2. open vhd file in folder (syntax is recognized correctly) 3. try command stated in question using key bindings 4. doesn't recognize command 5. using meta-key and string command 6. does what it is supposed to do, creates template.
    – Marin
    Jul 15, 2018 at 18:31

1 Answer 1


Go to the definition of function vhdl-template-map-init. You can use C-h f vhdl-template-map-init RET and klick on the function name to follow the link to the source or you can just use this web link to a git repro on repo.or.cz. There you see the keybindings within vhdl-template-map. Those bindings are active after pressing C-c C-t.


  1. (define-key vhdl-template-map "Pd" 'vhdl-template-package-decl)
  2. (define-key vhdl-template-map "Pb" 'vhdl-template-package-body).

The letters in the strings indicate the keys you have to type after C-c C-t. So it looks like you are missing d (standing for decl) or b (standing for body) after P (standing for package).

  • Dear Tobias, I tried to do what you supposed to, I don't seem to have the function definition file vhdl-template-map-init, at least I would't find one searching as root. I suppose that is the source of my issue. How do I correctly install it, what is the correct destination such that emacs will find the files?
    – Marin
    Jul 18, 2018 at 8:06
  • @Marin vhdl-template-map-init is part of the official repro since 2013. Note that vhdl-template-map-init is not autoloaded. That means you need to load vhdl-mode.el before calling C-h f vhdl-template-map-init RET. You can do that with M-x load-library RET vhdl-mode RET. Furthermore, you need the lisp sources and not just the compiled libs.
    – Tobias
    Jul 18, 2018 at 12:31

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.