🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.epoch.misc
Article #1945

epoch keybinding file

#1945
From: James Tayler
Date: Tue, 23 Jul 1991 17:34
278 lines
9639 bytes
Hey there.  I made this file this morning and it seems to work fine.  Use the 
load-file command to load it in and remember to leave the file with a .el 
extention.  You can also add the command to your .emacs file
	(load-file "filename")

so that the rebindings load whenever you start your editor.  Let me know how 
it works out.

Taylor


;;;  This file is designed specifically for the suns and in particular for my 
;;;  sparc station ELC.  It has been debugged and seems to work fine.  
;;;
;;;  I have left a few places blank, for future enhancements.  
;;;
;;;  Feel free to make any enhancements and post them.
;;;
;;;  Jim Taylor
;;;  Applied Research Labs
;;;  University of Texas at Austin
;;;  taylor@titan.tsd.arlut.utexas.edu
;;;  (512)835\-3171
;;;
;;;
;;; The keys should work as follows;
;;;
;;; R7           Home            Go to beginning of line
;;; C-R7         C- Home         Go to beginning of buffer
;;; R8           Up Arrow        Up one line
;;; S-R8         S-Up Arrow      Scroll screen up one line
;;; R9           PgUp            Go up one screen
;;; R10          Left Arrow      Left one character
;;; S-R10        S-Left Arrow    Left one word
;;; R11          5 on keypad     Center screen on cursor
;;; R12          Right Arrow     Right one character
;;; S-R12        S-Right Arrow   Right one word
;;; R13          End             Go to end of line 
;;; C-R13        C-R13           Go to end of buffer
;;; R14          Down Arrow      Move cursor down one line
;;; S-R14        S-Down Arrow    Scroll Screen down one line
;;; R15          PgDn            Go down one screen
;;; 
;;; L2           Again           Repeat last command
;;; L4           Undo            Undo previous command 
;;; L6           Copy            Copy region 
;;; L8           Paste           Paste from  minibuffer 
;;; L10          Cut             Kill Region
;;;
;;; S-F1         Save            Save Document
;;; S-F2         Search          Invoke forward search
;;; S-F3         Search          Invoke reverse search
;;; S-F4         Find            Invoke Find File
;;; S-F5         Insert          Invoke Insert File

;;; Note the above F function key assignments.  Having to shift may be a little
;;; akward, but it lets you use them withoout interfering with Xwindows

(setq epoch::function-key-mapping nil)	;turn off ESC mapping for function keys

;;; Sun keyboard specials
(rebind-key "Delete" 0 "\C-d")
(rebind-key "R6" 0 "\C-^r6")

;;; '386 bindings
;;; (rebind-key "KP_Multiply" 0 "\C-^k*")
;;;(rebind-key "KP_Subtract" 0 "\C-^k-")
;;; (rebind-key "KP_Add" 0 "\C-^k+")
;;; (rebind-key "BackSpace" 0 "\C-?")
;;; (rebind-key "BackSpace" 'meta "\M-\C-?")



(rebind-key "L2" 0 "\C-^l2")
(rebind-key "L4" 0 "\C-^l4")
(rebind-key "L6" 0 "\C-^l6")
(rebind-key "L8" 0 "\C-^l8")
(rebind-key "L10" 0 "\C-^L0")

(rebind-key "F1" 'shift "\C-^Sf1")
(rebind-key "F2" 'shift "\C-^Sf2")
(rebind-key "F3" 'shift "\C-^Sf3")
(rebind-key "F4" 'shift "\C-^Sf4")
(rebind-key "F5" 'shift "\C-^Sf5")


;;; General bindings

;;; Insert
(rebind-key "Insert" 0 "\C-^k0")
(rebind-key "Insert" 'meta "\C-^Mk0")

;;; Home
(rebind-key "Home" 0 "\C-^k7")
(rebind-key "R7" 0 "\C-^k7")
(rebind-key "Home" 'shift "\C-^Sk7")
(rebind-key "R7" 'shift "\C-^Sk7")
(rebind-key "KP_7" 'shift "\C-^Sk7")
(rebind-key "Home" 'control "\C-^Ck7")
(rebind-key "R7" 'control "\C-^Ck7")

;;; Up arrow
(rebind-key "Up" 0 "\C-^k8")
(rebind-key "R8" 'shift "\C-^Sk8")
(rebind-key "Up" 'shift "\C-^Sk8")
(rebind-key "KP_8" 'shift "\C-^Sk8")
(rebind-key "Up" 'control "\C-^Ck8")
(rebind-key "Up" 'meta "\C-^Mk8")

;;; Page Up
(rebind-key "Prior" 0 "\C-^k9")
(rebind-key "R9" 0 "\C-^k9")
(rebind-key "Prior" 'shift "\C-^Sk9")
(rebind-key "R9" 'shift "\C-^Sk9")
(rebind-key "KP_9" 'shift "\C-^Sk9")
(rebind-key "Prior" 'control "\C-^Ck9")
(rebind-key "R9" 'control "\C-^Ck9")
(rebind-key "Prior" 'meta "\C-^Mk9")
(rebind-key "R9" 'meta "\C-^Mk9")

;;; Left arrow
(rebind-key "Left" 0 "\C-^k4")
(rebind-key "R10" 'shift "\C-^Sk4")
(rebind-key "Left" 'shift "\C-^Sk4")
(rebind-key "KP_4" 'shift "\C-^Sk4")
(rebind-key "Left" 'meta "\C-^Mk4")
(rebind-key "Left" 'control "\C-^Ck4")

;;; keypad center
(rebind-key "R11" 0 "\C-^k5")
(rebind-key "KP_5" 0 "\C-^k5")
(rebind-key "R11" 'control "\C-^Ck5")
(rebind-key "KP_5" 'control "\C-^Ck5")

;;; right arrow
(rebind-key "Right" 0 "\C-^k6")
(rebind-key "R12" 'shift "\C-^Sk6")
(rebind-key "Right" 'shift "\C-^Sk6")
(rebind-key "KP_6" 'shift "\C-^Sk6")
(rebind-key "Right" 'control "\C-^Ck6")
(rebind-key "Right" 'meta "\C-^Mk6")

;;; end
(rebind-key "End" 0 "\C-^k1")
(rebind-key "R13" 0 "\C-^k1")
(rebind-key "R13" 'shift "\C-^Sk1")
(rebind-key "KP_1" 'shift "\C-^Sk1")
(rebind-key "End" 'control "\C-^Ck1")
(rebind-key "R13" 'control "\C-^Ck1")

;;; Down arrow
(rebind-key "Down" 0 "\C-^k2")
(rebind-key "R14" 'shift "\C-^Sk2")
(rebind-key "Down" 'shift "\C-^Sk2")
(rebind-key "KP_2" 'shift "\C-^Sk2")
(rebind-key "Down" 'control "\C-^Ck2")
(rebind-key "Down" 'meta "\C-^Mk2")

;;; Page Down
(rebind-key "R15" 0 "\C-^k3")
(rebind-key "Next" 0 "\C-^k3")
(rebind-key "R15" 'shift "\C-^Sk3")
(rebind-key "Next" 'shift "\C-^Sk3")
(rebind-key "KP_3" 'shift "\C-^Sk3")
(rebind-key "Next" 'control "\C-^Ck3")
(rebind-key "R15" 'control "\C-^Ck3")
(rebind-key "Next" 'meta "\C-^Mk3")
(rebind-key "R15" 'meta "\C-^Mk3")

;;; Extra modifiers on standard keys
(rebind-key "equal" 'control "\C-^C=")
(rebind-key "equal" 'mod3 "\C-^A=")
(rebind-key "minus" 'control "\C-^C-")
(rebind-key "minus" 'mod3 "\C-^A-")
;;; -------------------------------------------------------------------------
;;; Now, the bindings to function
;;;

(global-set-key "\C-^r6" 'undo)		; keypad * on new suns
(global-set-key "\C-^k*" 'undo)		; keypad * on '386
(global-set-key "\C-^k0" 'yank)		; insert
(global-set-key "\C-^Mk0" 'yank-pop)	; Meta-insert

(global-set-key "\C-^l2" 'repeat-complex-command)
(global-set-key "\C-^l4" 'advertised-undo)
(global-set-key "\C-^l6" 'copy-region-as-kill)
(global-set-key "\C-^l8" 'yank)
(global-set-key "\C-^L0" 'kill-region)

(global-set-key "\C-^Sf1" 'save-buffer)
(global-set-key "\C-^Sf2" 'search-forward)
(global-set-key "\C-^Sf3" 'search-backward)
(global-set-key "\C-^Sf4" 'find-file)
(global-set-key "\C-^Sf5" 'insert-file)

;; Normal cursor keys move characters and lines
(global-set-key "\C-^k8" 'previous-line) ; up arrow
(global-set-key "\C-^k2" 'next-line)	; down arrow
(global-set-key "\C-^k4" 'backward-char) ; left arrow
(global-set-key "\C-^k6" 'forward-char)	; right arrow

;; Shifted horizontal goes words
(global-set-key "\C-^Sk6" 'forward-word) ; shift right arrow
(global-set-key "\C-^Sk4" 'backward-word) ; shift left arrow
(global-set-key "\C-^Sk8" (definteractive (scroll-down 1))) ; shift up arrow
(global-set-key "\C-^Sk2" (definteractive (scroll-up 1))) ; shift down arrow

;; control page switches screens
(global-set-key "\C-^Ck9"
  (definteractive (select-screen (raise-screen (next-screen))))
)
					;control page-up
(global-set-key "\C-^Ck3"
  (definteractive (select-screen (raise-screen (prev-screen))))
)
					;control page-down

(global-set-key "\C-^Ck8" (definteractive (select-window (next-window))))
					;control up arrow
(global-set-key "\C-^Ck2" (definteractive (select-window (previous-window))))
					;control down arrow
(global-set-key "\C-^Sk9" (definteractive (raise-screen))) ;shift page-up
(global-set-key "\C-^Sk3" (definteractive (lower-screen))) ;shift page-down

;;;
(global-set-key "\C-^k7" 'beginning-of-line) ; Home
(global-set-key "\C-^k5" 'recenter)	; Center
(global-set-key "\C-^k1" 'end-of-line)	; End
(global-set-key "\C-^Ck7" 'beginning-of-buffer)	; control Home
(global-set-key "\C-^Ck1" 'end-of-buffer) ; control End
(global-set-key "\C-^Ck5" 'exchange-point-and-mark) ; control center

(global-set-key "\C-^C=" 'split-window-vertically) ;control =
(global-set-key "\C-^C-" 'delete-other-windows)	;control -

(global-set-key "\C-^k9" 'scroll-down)	; Page Up
(global-set-key "\C-^k3" 'scroll-up)	; Page Down

;;; --------------------------------------------------------------------------
;;; Line manipulation stuff

(defun set-region-lines (count)
"Set the region to be COUNT lines, including the current line"
  (or (numberp count) (setq count 1))
  (cond
    ((< count 0)
      (forward-line 1)
      (push-mark (point) t)
    )
    (t
      (beginning-of-line)
      (push-mark (point) t)
    )
  )
  (forward-line count)
)

(global-set-key "\C-^k+"
  (function (lambda (count) (interactive "pCount: ")
      (save-excursion
	(set-region-lines count)
	(copy-region-as-kill (point) (mark))
	(pop-mark)
      )
    )
  )
)

(global-set-key "\C-^k-"
  (function (lambda (count) (interactive "pCount: ")
      (save-excursion
	(set-region-lines count)
	(kill-region (point) (mark))
	(pop-mark)
      )
    )
  )
)
Technical Details
Message-ID: <9107231734.AA03876@titan.tsd.arlut.utexas.edu>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!cis.ohio-state.edu!titan.tsd.arlut.utexas.edu!taylor

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fc7ee,ed32221f51a3172,start
X-Google-Attributes: gidfc7ee,public
X-Google-ArrivalTime: 1991-07-23 22:14:19 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!cis.ohio-state.edu!titan.tsd.arlut.utexas.edu!taylor
From: taylor@titan.tsd.arlut.utexas.edu (James Tayler)
Newsgroups: gnu.epoch.misc
Subject: epoch keybinding file
Message-ID: <9107231734.AA03876@titan.tsd.arlut.utexas.edu>
Date: 23 Jul 91 17:34:03 GMT
Sender: daemon@cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 278