Además de la respuesta específica de Andrew Swann para archivos TeX, la forma más general de establecer el modo por extensión de archivo es colocar una nueva entrada (o adaptar la existente) en el auto-mode-alist
.
Del manual :
Esta variable contiene una lista de asociación de patrones de nombre de archivo (expresiones regulares) y los comandos de modo principal correspondientes. Por lo general, los patrones de nombre de archivo prueban los sufijos, como '.el' y '.c', pero este no tiene por qué ser el caso. Se ve un elemento ordinario de la lista (regexp. Mode-function).
Por ejemplo,
(("\\`/tmp/fol/" . text-mode)
("\\.texinfo\\'" . texinfo-mode)
("\\.texi\\'" . texinfo-mode)
("\\.el\\'" . emacs-lisp-mode)
("\\.c\\'" . c-mode)
("\\.h\\'" . c-mode)
...)
Por lo tanto, uno normalmente haría un cambio permanente en la lista con algo como:
(add-to-list 'auto-mode-alist '("\\.tex\\'" . latex-mode))
Tenga en cuenta las barras invertidas, que escapan caracteres especiales.
La lista funciona porque se usará el primer valor coincidente en la lista. Por lo tanto, puede agregar al principio de la lista independientemente del contenido original para ese tipo de archivo, y se utilizará su nuevo valor.