There's no general way to find out what input methods give access to a given set of characters. An input method is written in Emacs Lisp, and it can use any Emacs Lisp primitives to build characters. From a quick look under lisp/leim/quail
, I see that the latin-4-postfix
, latin-4-alt-postfix
, and TeX
input methods include vowels with macrons.
The whole point of Emacs, however, is that it is extensible — so why don't you define your own input method? Say, something like the following:
(quail-define-package "macron-underline" "Macron" "MC")
(quail-define-rules
("_a" ?ā)
("_e" ?ē)
("_i" ?ī)
("_o" ?ō)
("_u" ?ū)
("__" ?_))
Then say M-x set-input-method macron-underline
, and you're all set.
(Aside. Many, many years ago, under the old, pre-Unicode MULE, I designed and implemented the polish-slash
input method. While the code included in Emacs is no longer my original code, I'm still using it today. End of aside.)