Article View: gnu.epoch.misc
Article #1945epoch keybinding file
From: James Tayler
Date: Tue, 23 Jul 1991 17:34
Date: Tue, 23 Jul 1991 17:34
278 lines
9639 bytes
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!taylorShow 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