Mailinglist Archive: opensuse (2886 mails)

< Previous Next >
[Mike Fabian <mfabian@xxxxxxx>] Re: XEmacs+LaTeX
  • From: Mike Fabian <mfabian@xxxxxxx>
  • Date: Sat, 23 Feb 2002 15:36:13 +0100
  • Message-id: <s3t3czs1d0i.fsf@xxxxxxxxxxxxxxx>

John Lamb <J.D.Lamb@xxxxxxxxxxxxxx> writes:

> Christopher Mahmood wrote:
>>
>> * Christopher Mahmood (ckm@xxxxxxxx) [020222 13:34]:
>> > M-x tex-mode should do it.
>>
>> Sorry, M-x latex-mode for LaTeX of course.
>
> Sadly that doesn't quite work. I notice that the TeX menu item appears
> on Emacs but not XEmacs; so I might be able to get the features I want
> (<tab>ified LaTeX) with Emacs + AUCTeX. Any other suggestions
> (modifications to .xemacs, etc) appreciated.
> JDL

To use XEmacs with AucTeX you need to add the following to your
~/.xemacs/init.el:

(require 'tex-site)
(setq-default TeX-master nil)

Recent versions of XEmacs read ~/.xemacs/init.el if it exists and
don't read ~/.emacs anymore.

I guess you were using the the default (X)Emacs init files in SuSE
Linux 7.3. These didn't contain a ~/.xemacs/init.el but only a
~/.emacs containing code to distinguish between Emacs and XEmacs.

When starting a recent version XEmacs and you have a ~/.emacs but not
a ~/.xemacs/init.el, XEmacs will ask whether you want to have ~/.emacs
copied to ~/.xemacs/init.el, therefore you may have a
~/.xemacs/init.el now if you answered 'yes'.

The (X)Emacs init file ~/.emacs in SuSE Linux 7.3 contained a bug
in the XEmacs/AucTeX specific part:

;;
;; AUC-TeX
;; -------
(if (or (file-accessible-directory-p
"/usr/X11R6/lib/xemacs/site-lisp/auctex/")
(or (and (= emacs-major-version 19)
(>= emacs-minor-version 15))
(= emacs-major-version 20)))
(progn
(require 'tex-site)
(setq-default TeX-master nil)
; Users private libaries
; (setq TeX-macro-private '("~/lib/tex-lib/"))
; AUC-TeX-Macros
; (setq TeX-style-private "~/lib/xemacs/site-lisp/auctex/style/")
; Autom. Auc-TeX-Macros
; (setq TeX-auto-private "~/lib/xemacs/site-lisp/auctex/auto/")
))

Because of the '=' comparison of 'emacs-major-version' with '20', the
AucTeX code is not loaded for the current version of XEmacs, which is
21.4.4. There is an older TeX mode, simpler than AucTeX and I guess
this is what your were using because this is the default if AucTeX is
not loaded.

As XEmacs and Emacs read different init files now, most of the tests
for the type of Emacs and the Emacs version are not necessary anymore.

If you don't use your own ~/.emacs and ~/.xemacs/init.el but the
SuSE defaults from SuSE Linux 7.3, I suggest that you replace them
with the following versions which will be in SuSE Linux 8.0:

~/.xemacs/init.el for XEmacs:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; File name: ` ~/.xemacs/init.el '
;;; ---------------------
;;;
;;; Copyright (c) 2002 SuSE Gmbh Nuernberg, Germany.
;;;
;;; Author: Werner Fink, <feedback@xxxxxxx> 2002
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;
;; Load custom file
;; ----------------
(setq custom-file "~/.xemacs/custom.el")
(load "~/.xemacs/custom.el" t t)

;;
;; More coding systems (UNICODE)
;; -----------------------------
(if (locate-library "un-define") (require 'un-define))

;;
;; Remember font and more settings
;; -------------------------------
(setq options-save-faces t)

;;
;; Load AucTeX by default
;; ----------------------
(require 'tex-site)
(setq-default TeX-master nil)
;; Users private libaries
;(setq TeX-macro-private '("~/lib/tex-lib/"))
;; AUC-TeX-Macros
;(setq TeX-style-private "~/lib/xemacs/site-lisp/auctex/style/")
;; Autom. Auc-TeX-Macros
;(setq TeX-auto-private "~/lib/xemacs/site-lisp/auctex/auto/")
;;;


~/.emacs and ~/.gnu-emacs for Emacs:

~/.emacs:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; File name: ` ~/.emacs '
;;; ---------------------
;;;
;;; If you need your own personal ~/.emacs
;;; please make a copy of this file
;;; an placein your changes and/or extension.
;;;
;;; Copyright (c) 1997-2002 SuSE Gmbh Nuernberg, Germany.
;;;
;;; Author: Werner Fink, <feedback@xxxxxxx> 1997,98,99,2002
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Test of Emacs derivates
;;; -----------------------
(if (string-match "XEmacs\\|Lucid" emacs-version)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; XEmacs
;;; ------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(progn
(if (file-readable-p "~/.xemacs/init.el")
(load "~/.xemacs/init.el" nil t))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; GNU-Emacs
;;; ---------
;;; load ~/.gnu-emacs or, if not exists /etc/skel/.gnu-emacs
;;; For a description and the settings see /etc/skel/.gnu-emacs
;;; ... for your private ~/.gnu-emacs your are on your one.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(if (file-readable-p "~/.gnu-emacs")
(load "~/.gnu-emacs" nil t)
(if (file-readable-p "/etc/skel/.gnu-emacs")
(load "/etc/skel/.gnu-emacs" nil t)))

;; Custum Settings
;; ===============
;; To avoid any trouble with the customization system of GNU emacs
;; we set the default file ~/.gnu-emacs-custom
(setq custom-file "~/.gnu-emacs-custom")
(load "~/.gnu-emacs-custom" t t)
;;;
)
;;;


~/.gnu-emacs:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; File name: ` ~/.gnu-emacs '
;;; ---------------------
;;;
;;; Note: This file is for GNU-Emacs only ...
;;; GNU-Emacs is incompatible to X-Emacs. Therefore your
;;; personal ~/.emacs should load this file if your runnning
;;; the good old GNU-emacs.
;;;
;;; If you need your own personal ~/.gnu-emacs
;;; please make a copy of this file
;;; an placein your changes and/or extension.
;;;
;;; For emacs commands have a look onto the
;;; `emacs-revcard' in the directory /usr/doc/packages/emacs/
;;;
;;; Copyright 1993-2001 Werner Fink
;;; Copyright (c) 1996-2001 SuSE Gmbh Nuernberg, Germany.
;;; All rights reserved.
;;;
;;; Author: Werner Fink, <werner@xxxxxxx> 1993-2001
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Debuging only
;; -------------
; (open-dribble-file "~/.dribble")
; (open-termscript "~/.termscript")
;;
;; Emacs makes backup by moving original files, to
;; avoid trouble with hardlinked files we may use:
;; -----------------------------------------------
; (defconst backup-by-copying-when-linked t)
;;
;; Rmail: We will place all Mail's an Mail-folders into ~/Mail
;; -----------------------------------------------------------
(if (file-accessible-directory-p "~/Mail/")
(setq rmail-secondary-file-directory "~/Mail/"))
;;
;; Prefix for mail-mode
;; ---------------------
(setq mail-yank-prefix "> ")
; (setq mail-archive-file-name "~/Mail/.CarbonCopy")
(setq mail-self-blind nil)
(setq mail-default-headers nil)
(setq mail-signature nil)
;;
;; Settings for message-mode
;; -------------------------
(setq message-from-style "angles")
(if (null mail-host-address)
(let ((tmph (getenv "HOSTNAME"))
(tmpf (getenv "FROM_HEADER")))
(if (or (null tmph) (not (string-match "\\." tmph)))
(setq tmph (system-name)))
(if (not (string-match "\\." tmph))
(setq mail-host-address "our.domain.is.not.set")
(string-match "\\." tmph)
(setq mail-host-address (substring tmph (match-end 0))))
(if (stringp tmpf)
(setq mail-host-address tmpf)))
(setq tmpf nil tmph nil))
;;
;; RMAILGEN: Folder im Rmail-Mode :-)
;; ----------------------------------
;;
;; 1. I want to define a mail directory that isn't `~/'
(if (file-accessible-directory-p "~/Mail/")
(setq rmailgen-default-directory "~/Mail/")) ; must end in slash
;;;
;; 2. I want 78 column
(add-hook 'mail-mode-hook (function (lambda () (setq fill-column 78))))
(if (file-exists-p "~/.abbrev_defs")
(progn (read-abbrev-file "~/.abbrev_defs")
(add-hook 'mail-setup-hook 'mail-abbrevs-setup)))
;;;
;; 3. By default, if mail-archive-file-name is non-nil then
;; archive file names will be generated automatically based on
;; the message to which a reply is being constructed. If I
;; wanted to turn this off I would put in a statement like
(setq rmailgen-archive-file-name nil)
;;;
;; 4. By default, rmailgen.el downcases generated filenames
;; If I wanted uppercase I would put in a statement like here.
(setq rmailgen-downcase "dummy")
;;;
;; 5. By default, rmailgen.el does not append `.gz' to generated
;; filenames. If I wanted such an extension I would put in a statement
;; like
;;(setq rmailgen-gzip-file-name t)
;;;
;; 6. By default, rmailgen.el will use generated FCC filenames even
;; if the file does not exist. If I wanted to FCC only if the file
;; already exists I would put in a statement like
;; (setq rmailgen-archive-only-if-exists t)
;;;
;; 7. Add my own personal output list for specific friends
;; and special subjects.
;;;
;; First define rmail-output-file-alist, just in case this
;; is not already defined. That is, may be
;; ../lisp/rmailout.el has not been loaded yet.
(if (not (boundp 'rmail-output-file-alist))
(defvar rmail-output-file-alist nil))
;;;
(setq rmail-output-file-alist
(append
(list

; ;; For my friends (some have strange account names).
; '("^From:[ \t]*.*jones.*" . "jmjones")
; '("^From:[ \t]*.*Joe[ \t]*Smith.*" . "joe")
;
; ;; Special subject lines.
; '("^Subject:[ \t]*.*crypt.*" . "crypt++")
; '("^Subject:[ \t]*.*rmailgen.*" . "genrmail")
; '("^Subject:[ \t]*.*dired-x.*" . "dired-x")
; '("^Subject:[ \t]*.*GNU Emacs 19 RMAIL Poll.*" . "rmail")
;
; ;; Add more entries here...
)
;;;
;; In case rmail-output-file-alist has been defined
;; already elsewhere.
rmail-output-file-alist))
;;;
;; 8. Load package [REQUIRED].
(if (file-exists-p "/usr/share/emacs/site-lisp/rmailgen.el")
(require 'rmailgen))
;;
;; Base text mode
;; ----------------------
(setq default-major-mode 'text-mode)
(line-number-mode 1)
(if (or (and (= emacs-major-version 19) (> emacs-minor-version 29))
(> emacs-major-version 19))
(progn
(column-number-mode 1)
(setq-default inhibit-eol-conversion t))
(require 'column)
(display-column-mode 1))
(global-set-key "\e\?" 'goto-line)
(setq-default require-final-newline "ask")
;;
;; Specials for X Window System
;; -------------------------
(if (not window-system)
;; ispell
;; ----------------------
;; (A few changes on ispell)
(setq ispell-highlight-face 'underline);)
;;
;; Some fonts
;; -----------------------
(if (> emacs-major-version 20) (require 'xfonts))
;;
;; New in Emacs 21: tool bar menu, you may switch it of
;; ----------------------------------------------------
; (if (fboundp 'tool-bar-mode) (tool-bar-mode 0))
;;
;; mouse as arrow
;; --------------
(setq x-pointer-shape x-pointer-left-ptr)
(if (x-display-color-p)
(set-mouse-color "RoyalBlue")
(set-mouse-color (cdr (assq 'mouse-color (frame-parameters)))))
;;
;; Automatically replacing of fore- and background.
(if (not (x-display-color-p))
(progn
(set-face-background 'region
(cdr (assq 'foreground-color (frame-parameters ))))
(set-face-foreground 'region
(cdr (assq 'background-color (frame-parameters ))))
;; ispell
;; ----------------------
;; (A few changes on ispell)
(setq ispell-highlight-face 'underline)))
;;
;; Highlighting of special emacs modes
;; -----------------------------------
;; We use font lock mode

;; Darken greyed strings in font lock mode
(custom-declare-face 'font-lock-string-face
'((((class grayscale) (background light)) (:foreground "gray37" :italic t))
(((class grayscale) (background dark)) (:foreground "LightGray" :italic t))
(((class color) (background light)) (:foreground "gray37"))
(((class color) (background dark)) (:foreground "LightGray"))
(t (:italic t)))
"Font Lock mode face used to highlight strings."
:group 'font-lock-highlighting-faces)

;; Enable font lock support
(setq font-lock-support-mode '((latex-mode . fast-lock-mode) (t . lazy-lock-mode)))
(add-hook 'after-init-hook '(lambda () (global-font-lock-mode 1)))

;;
;; Some dialog
;; ------------------
(setq use-dialog-box t)
;;
;; more dialog
;; -----------
;; (menu-prompting nil)
; (require 'complete-menu)
;;
;; Set X synchrone
;; ---------------
;; Speed up
(setq mouse-scroll-delay 0)
(setq x-selection-timeout 0)
;;
;; We use a wrapper script for netscape
;;
(if (file-executable-p "/usr/X11R6/bin/Netscape")
(setq browse-url-netscape-program "/usr/X11R6/bin/Netscape"))
)
;;
;; emacsclient: automatical popup under X11
;; ------------------------------------------
;(defun server-make-window-visible ()
; "Try to make this window even more visible."
;(if window-system
; (progn
; (let ((foo (selected-frame)))
; (sit-for 0)
; (make-frame-visible foo))
; (accept-process-output))))
;(add-hook 'server-switch-hook '(lambda () (server-make-window-visible)))
;(add-hook 'server-visit-hook '(lambda () (server-make-window-visible)))
;; Start it for popup
;(server-start)
;;
;; Emacs experts like this
;; -----------------------
(put 'eval-expression 'disabled nil)
;;
;; Working on parts of text
;; ------------------------
;; NB: `C-x n n' is narrow-to-region
;; `C-x n p' is narrow-to-page
;; `C-x n w' is widen
;(put 'narrow-to-region 'disabled nil)
;(put 'narrow-to-page 'disabled nil)
;;
;; GNUS
;; ----
;; Sorting
(if (or (and (= emacs-major-version 19) (> emacs-minor-version 29))
(> emacs-major-version 19))
(add-hook 'gnus-select-group-hook
'(lambda ()
(setq-default gnus-auto-select-first nil)
(setq-default gnus-auto-center-summary nil)
(setq gnus-thread-sort-functions
'(gnus-thread-sort-by-date
gnus-thread-sort-by-subject
gnus-thread-sort-by-score))))
(add-hook 'gnus-select-group-hook
'(lambda ()
(setq-default gnus-auto-select-first nil)
(setq-default gnus-auto-center-summary nil)
;; First of all, sort by date.
(gnus-keysort-headers
(function string-lessp)
(function
(lambda (a)
(gnus-sortable-date (gnus-header-date a)))))
;; Then sort by subject string ignoring `Re:'.
;; If case-fold-search is non-nil, case of letters is ignored.
(gnus-keysort-headers
(function string-lessp)
(function
(lambda (a)
(if case-fold-search
(downcase (gnus-simplify-subject (gnus-header-subject a) t))
(gnus-simplify-subject (gnus-header-subject a) t)))))
))
)
;; highlighting, menus, and subscribing in GNUS
(add-hook 'gnus-startup-hook
'(lambda ()
(setq gnus-subscribe-newsgroup-method
'(lambda (newsgroup)
(gnus-subscribe-newsgroup newsgroup)
(gnus-kill-newsgroup newsgroup)))
(setq gnus-use-generic-from t)
;; highlighting and menu in GNUS
(if (or (and (= emacs-major-version 19) (> emacs-minor-version 29))
(> emacs-major-version 19))
(progn
(setq gnus-visual '(highlight menu))
(setq gnus-group-highlight
'(;; News.
((and (> unread 100) (not mailp)) . gnus-summary-high-ticked-face)
((and (> unread 0) (not mailp)) . gnus-summary-high-read-face)
((and (= unread 0) (not mailp)) . gnus-summary-high-ancient-face)
((not mailp) . gnus-summary-normal-ancient-face)
;; Mail.
((and (= unread 0) (eq level 1)) . gnus-group-mail-1-empty-face)
((eq level 1) . gnus-group-mail-1-face)
((and (= unread 0) (eq level 2)) . gnus-group-mail-2-empty-face)
((eq level 2) . gnus-group-mail-2-face)
((and (= unread 0) (eq level 3)) . gnus-group-mail-3-empty-face)
((eq level 3) . gnus-group-mail-3-face)
((= unread 0) . gnus-group-mail-low-empty-face)
(t . gnus-group-mail-low-face)))
)))
)
;;
;; Common to all C modes
;; ---------------------
(add-hook 'c-mode-common-hook
'(lambda () (c-set-style "linux")
(c-set-offset 'case-label 4)
(setq c-basic-offset 4)))

;;
;; Auto fill mode
;; --------------
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;;
;; Fill-column
;; -----------
;; Fill-column ist hier auf 78 Charakter gesetzt, nach Wunsch "andern!
(setq fill-column 78)
(add-hook 'TeX-mode-hook '(lambda () (setq fill-column 78)))
;;
;; AUC-TeX
;; ----------------------------
(if (file-readable-p "/usr/share/emacs/site-lisp/tex-site.el")
(progn
(require 'tex-site)
(setq-default TeX-master nil)
; Users private libaries
; (setq TeX-macro-private '("~/lib/tex-lib/"))
; (setq TeX-style-private "~/lib/site-lisp/auctex/style/") ; AUC-TeX-Macros
; (setq TeX-auto-private "~/lib/site-lisp/auctex/auto/") ; Autom. Auc-TeX-Macros
(if window-system
(if (featurep 'font-lock)
(add-hook 'after-init-hook '(lambda () (load "auctex/font-latex" nil t)))))
))

;;
;; Brace macros
;; ------------
(defun TeX-Inserting (sta stb stc)
(if (= (preceding-char) sta )
(insert stb)
(progn (insert stc) (backward-char 1))))
(defun TeX-schweif () (interactive "*") (TeX-Inserting ?\\ "{" "{}"))
(defun TeX-rundekl () (interactive "*") (TeX-Inserting ?\\ "(" "()"))
(defun TeX-eckigek () (interactive "*") (TeX-Inserting ?\\ "[" "[]"))
(defun TeX-exponen () (interactive "*") (TeX-Inserting ?\\ "^" "^{}"))
(defun TeX-subscri () (interactive "*") (TeX-Inserting ?\\ "_" "_{}"))
(defun TeX-dollarm () (interactive "*") (TeX-Inserting ?\\ "$" "$$"))
(defun TeX-REVbbox () (interactive "*") (TeX-Inserting ?\\ "bbox{" "\\bbox{}"))
(add-hook 'LaTeX-mode-hook
'(lambda ()
;; Uncomment this for automatic bracket closing
;; Begin bracket closing
; (local-set-key "{" 'TeX-schweif)
; (local-set-key "(" 'TeX-rundekl)
; (local-set-key "[" 'TeX-eckigek)
; (local-set-key "^" 'TeX-exponen)
; (local-set-key "_" 'TeX-subscri)
; (local-set-key "$" 'TeX-dollarm)
; (local-set-key "\C-b" 'TeX-REVbbox)
;;
;; It's german:
;; Deutsche Tastatur im LaTeX-German-Style/Babel-Class
;; ---------------------------------------------------
;; Aktivierung mit `M-x german-mode' -> man dr"ucke
;; *nacheinander* <ComposeCharacter>, <">, <a> und staune!
;; ACHTUNG: Bei grossen Files sehr LANGSAM beim Abspeichern
;; das ist vom Prinzip her bedingt! Hier gibt's keinen Support!
; (require 'ger-keys)
;; End bracket closing
;; For ISO Latin standard: Macro out of `ger-keys'
;; ger-keys should be loaded
; (german-mode)
;; For german style usage:
(modify-syntax-entry ?" "w")
(local-set-key "\"" 'self-insert-command)
;; Deutsche Belegung amerikanischer Tastaturen: aus `ger-keys'
; (german-keyboard)
))
;;
;; Provide some usefull function keys
;; ----------------------------------
;; Have a look on /usr/share/emacs/site-lisp/function-keys.el
;; Extensions or changes of the keymap
;; original definitions will found in loaddefs.el.
;;(global-set-key [escape] [?\e]) ; Escape
;;
(global-set-key [M-left] 'backward-word)
(global-set-key [M-right] 'forward-word)
(global-set-key [M-up] 'beginning-of-line)
(global-set-key [M-down] 'end-of-line)
;;
; (global-set-key [C-left] 'backward-char)
; (global-set-key [C-right] 'forward-char)
; (global-set-key [C-up] 'previous-line)
; (global-set-key [C-down] 'next-line)
;;
(global-set-key [S-left] 'backward-char)
(global-set-key [S-right] 'forward-char)
(global-set-key [S-up] 'previous-line)
(global-set-key [S-down] 'next-line)
;;
(global-set-key [find] 'isearch-forward) ; Search
(global-set-key [select] 'set-mark-command) ; Mark
;;
(global-set-key [S-next] 'end-of-buffer)
(global-set-key [S-prior] 'beginning-of-buffer)
(global-set-key [S-find] 'find-file)
(global-set-key [S-select] 'switch-to-buffer)
(global-set-key [S-insert] 'insert-file)
;;
(if (and (= emacs-major-version 19) (= emacs-minor-version 29))
(define-key key-translation-map [f1] nil)) ; 19.29+
;;(global-set-key [f1] 'find-file) ; `Help'
(global-set-key [f1] 'help-for-help) ; `Help'
(global-set-key [pause] 'toggle-read-only) ; `HoldScreen'
;;
(global-set-key [f2] 'split-window)
(global-set-key [f3] 'isearch-forward)
(global-set-key [f4] 'query-replace-regexp)
(global-set-key [f5] 'save-buffer)
(global-set-key [f6] 'find-file)
(global-set-key [f7] 'buffer-menu)
(global-set-key [f8] 'repeat-complex-command)
(global-set-key [f9] 'execute-extended-command)
(global-set-key [f10] 'eval-expression)
;;
;;(global-set-key [f11] [?\e]) ; Escape
(global-set-key [f11] esc-map) ; Escape
;;
(global-set-key [f12] 'backward-delete-char-untabify) ; Backspace
;;
;; DEC keyboard: f13 up to f20
(global-set-key [f13] 'newline) ; Linefeed
(global-set-key [linefeed] 'newline) ; Linefeed
;;
(global-set-key [f14] 'switch-to-buffer)
;;
;; Emacs original key binding
;;
; (global-set-key [home] 'beginning-of-buffer) ;
; (global-set-key [end] 'end-of-buffer) ;
;;
(global-set-key [help] 'info) ; Help
(global-set-key [M-help] 'repeat-complex-command) ; Redo
(global-set-key [menu] 'execute-extended-command) ; Do
(global-set-key [M-menu] 'eval-expression) ; eval
;;
(global-set-key [f17] 'beginning-of-buffer)
(global-set-key [f18] 'end-of-buffer)
(global-set-key [f19] 'save-buffer)
(global-set-key [f20] 'find-file)
;;
;; Translate `C-h' to DEL.
; (keyboard-translate ?\C-h ?\C-?)
;;
;; Translate DEL to `C-h'.
; (keyboard-translate ?\C-? ?\C-h)
;;;;;;;;;;
;; the end

--
Mike Fabian <mfabian@xxxxxxx> http://www.suse.de/~mfabian
睡眠不足はいい仕事の敵だ。

< Previous Next >
This Thread
Follow Ups