Variable: viper-major-mode-modifier-list

viper-major-mode-modifier-list is a customizable variable defined in viper.el.gz.

Value

((help-mode emacs-state viper-slash-and-colon-map)
 (comint-mode insert-state viper-comint-mode-modifier-map)
 (comint-mode vi-state viper-comint-mode-modifier-map)
 (gud-mode insert-state viper-comint-mode-modifier-map)
 (shell-mode insert-state viper-comint-mode-modifier-map)
 (inferior-emacs-lisp-mode insert-state viper-comint-mode-modifier-map)
 (shell-mode vi-state viper-comint-mode-modifier-map)
 (ange-ftp-shell-mode insert-state viper-comint-mode-modifier-map)
 (ange-ftp-shell-mode vi-state viper-comint-mode-modifier-map)
 (internal-ange-ftp-mode insert-state viper-comint-mode-modifier-map)
 (internal-ange-ftp-mode vi-state viper-comint-mode-modifier-map)
 (dired-mode emacs-state viper-dired-modifier-map)
 (tar-mode emacs-state viper-slash-and-colon-map)
 (mh-folder-mode emacs-state viper-slash-and-colon-map)
 (gnus-group-mode emacs-state viper-gnus-modifier-map)
 (gnus-summary-mode emacs-state viper-gnus-modifier-map)
 (Info-mode emacs-state viper-slash-and-colon-map)
 (Buffer-menu-mode emacs-state viper-slash-and-colon-map)
 (erc-mode insert-state viper-comint-mode-modifier-map)
 (erc-mode vi-state viper-comint-mode-modifier-map))

Documentation

List specifying how to modify the various major modes to enable some Viperisms.

The list has the structure: ((mode viper-state keymap) (mode viper-state keymap) ...). If mode is on the list, the keymap will be made active (on the minor-mode-map-alist) in the specified viper state. If you change this list, have to restart Emacs for the change to take effect. However, if you did the change through the customization widget, then Emacs needs to be restarted only if you deleted a triple mode-state-keymap from the list. No need to restart Emacs in case of insertion or modification of an existing triple.

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper.el.gz
;; We change standard bindings in some major modes, making them slightly
;; different than in "normal" vi/insert/emacs states
(defcustom viper-major-mode-modifier-list
  '((help-mode emacs-state viper-slash-and-colon-map)
    (comint-mode insert-state viper-comint-mode-modifier-map)
    (comint-mode vi-state viper-comint-mode-modifier-map)
    (gud-mode insert-state viper-comint-mode-modifier-map)
    (shell-mode insert-state viper-comint-mode-modifier-map)
    (inferior-emacs-lisp-mode insert-state viper-comint-mode-modifier-map)
    (shell-mode vi-state viper-comint-mode-modifier-map)
    (ange-ftp-shell-mode insert-state viper-comint-mode-modifier-map)
    (ange-ftp-shell-mode vi-state viper-comint-mode-modifier-map)
    (internal-ange-ftp-mode insert-state viper-comint-mode-modifier-map)
    (internal-ange-ftp-mode vi-state viper-comint-mode-modifier-map)
    (dired-mode emacs-state viper-dired-modifier-map)
    (tar-mode emacs-state viper-slash-and-colon-map)
    (mh-folder-mode emacs-state viper-slash-and-colon-map)
    (gnus-group-mode emacs-state viper-gnus-modifier-map)
    (gnus-summary-mode emacs-state viper-gnus-modifier-map)
    (Info-mode emacs-state viper-slash-and-colon-map)
    (Buffer-menu-mode emacs-state viper-slash-and-colon-map)
    (erc-mode insert-state viper-comint-mode-modifier-map)
    (erc-mode vi-state viper-comint-mode-modifier-map)
    )
  "List specifying how to modify the various major modes to enable some Viperisms.
The list has the structure: ((mode viper-state keymap) (mode viper-state
keymap) ...).  If `mode' is on the list, the `keymap' will be made active (on
the minor-mode-map-alist) in the specified viper state.
If you change this list, have to restart Emacs for the change to take effect.
However, if you did the change through the customization widget, then Emacs
needs to be restarted only if you deleted a triple mode-state-keymap from the
list.  No need to restart Emacs in case of insertion or modification of an
existing triple."
  :type '(repeat
	  (list symbol
		(choice (const emacs-state)
			(const vi-state)
			(const insert-state))
		symbol))
  :set #'viper-apply-major-mode-modifiers)