Cプログラミングがprog-modeandの下で実行されているということc-modeですか?
いいえ、後で引用するように:
主要なモードは相互に排他的です。各バッファには、常に1つのメジャーモードしかありません。
したがって、バッファはどちらか一方にのみ存在できます。
あるprog-modeすべてのプログラムのための普遍的なモードは?
いいえ、すべてのプログラミングモードで共通の親モードです。
さらに、prog-modeがのようなメジャーモードであることを意味しますc-mode。
はい、prog-modeから派生した通常のメジャーモードですfundamental-mode。同様c-modeに、から派生した通常のメジャーモードですprog-mode。違いは、それprog-modeだけではまったく裸であり、直接有効にすることを意図していないことです。
prog-modeここで何をしますか、それはマイナーモードですが、メジャーモード部分で広く述べられていますか?
いいえ、通常のメジャーモードです。これは、メジャーモードの作成者がモードを派生させるための規則として、およびユーザーがすべてのプログラミングモードをより簡単にカスタマイズできるようにするための便宜として提供されています。
たとえば、ユーザーがshow-trailing-whitespaceすべてのプログラミングモードで有効にする場合、最初に次のようなフックを定義できます。
(defun my-show-trailing-space ()
"Enable `show-trailing-whitespace' in the current buffer."
(setq show-trailing-whitespace t))
この関数を、使用するすべてのプログラミングモードのモードフックに追加する代わりに、次のようにします。
(mapc (lambda (hook)
(add-hook hook #'my-show-trailing-space))
'(c-mode-common-hook
emacs-lisp-mode-hook
perl-mode-hook
prolog-mode-hook
...))
代わりに、親モードのモードフックに追加するだけですprog-mode-hook。
(add-hook 'prog-mode-hook #'my-show-trailing-space)
そのため、prog-modeそこから派生するすべてのプログラミングモードに共通の設定を提供します。