Function: viper-adjust-keys-for

viper-adjust-keys-for is a byte-compiled function defined in viper-cmd.el.gz.

Signature

(viper-adjust-keys-for STATE)

Documentation

Make necessary adjustments to keymaps before entering STATE.

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-cmd.el.gz
(defun viper-adjust-keys-for (state)
  "Make necessary adjustments to keymaps before entering STATE."
  (cond ((memq state '(insert-state replace-state))
	 (if viper-auto-indent
	     (progn
	       (define-key viper-insert-basic-map "\C-m" #'viper-autoindent)
	       (if viper-want-emacs-keys-in-insert
		   ;; expert
		   (define-key viper-insert-basic-map "\C-j" nil)
		 ;; novice
		 (define-key viper-insert-basic-map "\C-j" #'viper-autoindent)))
	   (define-key viper-insert-basic-map "\C-m" nil)
	   (define-key viper-insert-basic-map "\C-j" nil))

	 (setq viper-insert-diehard-minor-mode
	       (not viper-want-emacs-keys-in-insert))

	 (if viper-want-ctl-h-help
	     (progn
	       (define-key viper-insert-basic-map "\C-h" #'help-command)
	       (define-key viper-replace-map "\C-h" #'help-command))
	   (define-key viper-insert-basic-map
	     "\C-h" #'viper-del-backward-char-in-insert)
	   (define-key viper-replace-map
	     "\C-h" #'viper-del-backward-char-in-replace))
	 ;; In XEmacs, C-h overrides backspace, so we make sure it doesn't.
	 (define-key viper-insert-basic-map
	   [backspace] #'viper-del-backward-char-in-insert)
	 (define-key viper-replace-map
	   [backspace] #'viper-del-backward-char-in-replace)
	 ) ; end insert/replace case
	(t ; Vi state
	 (setq viper-vi-diehard-minor-mode (not viper-want-emacs-keys-in-vi))
	 (define-key viper-vi-basic-map "\C-h"
	   (if viper-want-ctl-h-help #'help-command #'viper-backward-char))
	 ;; In XEmacs, C-h overrides backspace, so we make sure it doesn't.
	 (define-key viper-vi-basic-map [backspace] #'viper-backward-char))
	))