;;; -*- Mode: Emacs-Lisp -*- ;;; ;;; Time-stamp: <1999-08-09, 22:17:59, mrz@isun34> ;;; define key bindings for XEmacs (require 'cc-mode) ;;(require 'tex-mode) (global-set-key 'backspace 'backward-delete-char) (global-set-key 'delete 'delete-char) (defun text-mode-hook-fn ( ) "Try to make DEL act as delete" (interactive) ;; text-Functions. (local-set-key 'delete 'delete-char) ;;(local-set-key 'return 'reindent-then-newline-and-indent) (message "Now loading private Text mode ...") ) ;; TeX-Modes (defun tex-mode-hook-fn ( ) "Try to make DEL act as delete" (interactive) ;; tex-Functions. (local-set-key 'delete 'delete-char) (local-set-key 'return 'reindent-then-newline-and-indent) (local-set-key '(f8) 'TeX-toolbar-preview) (local-set-key '(f9) 'TeX-toolbar-run-LaTeX) (message "Now loading private TeX mode ...") ) (defun LaTeX-mode-hook-fn ( ) (interactive) ;; Latex-Functions. But also good in plain-tex (tex-mode-hook-fn) (message "Now loading private LaTeX mode ...") ) ;; Perl-Mode (defun perl-insert-print () "Fügt den Perl Befehl 'print' ein." (interactive) (insert "print \"\\n\";") (backward-char 4) (cperl-indent-command) ) (defun perl-insert-open () "Fügt den Perl Befehl 'open()' ein." (interactive) (insert "open(, );") (backward-char 4) (cperl-indent-command) ) (defun perl-insert-close () "Fügt den Perl Befehl 'close()' ein." (interactive) (insert "close();") (backward-char 2) (cperl-indent-command) ) (defun perl-insert-if () "Fügt den Perl Befehl 'if' ein." (interactive) (insert "if($_) {\n") (cperl-indent-command) (cperl-indent-command) (insert "\n\}") (cperl-indent-command) (previous-line 2) (end-of-line) (backward-char 3) (cperl-indent-command) ) (defun perl-insert-while () "Fügt den Perl Befehl 'while' ein." (interactive) (insert "while ($)") (backward-char 1) (cperl-indent-command) ) (defun perl-insert-foreach () "Fügt den Perl Befehl 'foreach' ein." (interactive) (insert "foreach (@) {") (cperl-indent-command) (insert "\n") (cperl-indent-command) (insert "\n\}") (cperl-indent-command) (previous-line 2) (end-of-line) (backward-char 3) (cperl-indent-command) ) (defun perl-insert-head () "Fügt den Header #! ein." (interactive) (insert "#!/usr/local/bin/perl\n\n") ) (defun perl-insert-local () "Fügt den Perl-Befehl 'local' ein." (interactive) (insert "local ") (cperl-indent-command) ) (defun perl-insert-system () "Fügt den Perl-Befehl 'system' ein." (interactive) (insert "system \"\"") (backward-char 1) (cperl-indent-command) ) (defun perl-insert-split () "Fügt den Perl-Befehl 'split' ein." (interactive) (insert "=split(//,$);") (backward-char 5) (cperl-indent-command) ) (defun perl-insert-join () "Fügt den Perl-Befehl 'join' ein." (interactive) (insert "=join(\"\",@);") (backward-char 2) (cperl-indent-command) ) (defun perl-mode-hook-fn () "Load user-defined Perl Functions" (interactive) ;; Perl-Funktionen (local-set-key 'delete 'delete-char) (local-set-key '(meta backspace) 'backward-delete-char) (local-set-key 'return 'newline-and-indent) (define-key cperl-mode-map "\C-pp" 'perl-insert-print) (define-key cperl-mode-map "\C-po" 'perl-insert-open) (define-key cperl-mode-map "\C-pc" 'perl-insert-close) (define-key cperl-mode-map "\C-pi" 'perl-insert-if) (define-key cperl-mode-map "\C-pj" 'perl-insert-join) (define-key cperl-mode-map "\C-pf" 'perl-insert-foreach) (define-key cperl-mode-map "\C-pI" 'perl-insert-head) (define-key cperl-mode-map "\C-pl" 'perl-insert-local) (define-key cperl-mode-map "\C-pw" 'perl-insert-while) (define-key cperl-mode-map "\C-ps" 'perl-insert-split) (define-key cperl-mode-map "\C-py" 'perl-insert-system) (message "Now loading private Perl mode ...") ) ;; Keys für HTML-Mode: (defun html-mode-hook-fn () "Load user-defined HTML Functions" (interactive) ;; HTML-Funktionen (local-set-key 'return 'newline-and-indent) (local-set-key 'delete 'delete-char) (local-set-key '(alt return) 'tempo-template-html-list-item) (local-set-key '(control return) 'tempo-template-html-line-break) ;; (local-set-key 'kp-delete (local-set-key 'delete 'my-delete-1) (local-set-key '(control pause) 'my-beatify-html-code) (local-set-key '(alt k) (lambda () (interactive) (beginning-of-line) (kill-line) )) (message "Now loading private HTML mode ...") ) ;; C-Mode (defun c-insert-printf () "Fügt den C-Befehl 'printf' ein." (interactive) (insert "printf(\"\\n\");") (backward-char 5) (c-indent-command) ) (defun c-insert-if () "Fügt den C-Befehl 'if' ein." (interactive) (insert "if () {") (c-indent-command) (c-indent-command) (insert "\n\n\}") (c-indent-command) (previous-line 2) (end-of-line) (backward-char 3) (c-indent-command) ) (defun c-insert-while () "Fügt den C-Befehl 'while' ein." (interactive) (insert "while ()") (backward-char 1) (c-indent-command) ) (defun c-insert-for () "Fügt den C-Befehl 'for' ein." (interactive) (insert "for(=0; <; ++) {") (c-indent-command) (insert "\n") (c-indent-command) (insert "\n}") (c-indent-command) (insert "\n") (c-indent-command) (previous-line 3) (end-of-line) (backward-char 12) (c-indent-command) ) (defun c-insert-register () "Fügt den C-Vefehl 'register' ein." (interactive) (insert "register ") (c-indent-command) ) (defun c-mode-hook-fn () "Load user-defined C Functions" (interactive) ;; C-Funktionen (message "Now loading private C mode ...") (local-set-key '(meta backspace) 'del-word-left) (local-set-key 'return 'newline-and-indent) (define-key c-mode-map "\C-pf" 'c-insert-for) (define-key c-mode-map "\C-pp" 'c-insert-printf) (define-key c-mode-map "\C-pi" 'c-insert-if) (define-key c-mode-map "\C-pw" 'c-insert-while) (define-key c-mode-map "\C-pr" 'c-insert-register) (progn (make-local-variable 'c-basic-offset) (setq compilation-window-height 20 c-basic-offset 2) ) ) (defun c++-mode-hook-fn () "Load user-defined C++ Functions" (interactive) ;; C++-Funktionen (message "Now loading private C++ mode ...") (local-set-key '(meta backspace) 'del-word-left) (local-set-key 'return 'newline-and-indent) (define-key c++-mode-map "\C-pf" 'c-insert-for) (define-key c++-mode-map "\C-pp" 'c-insert-printf) (define-key c++-mode-map "\C-pi" 'c-insert-if) (define-key c++-mode-map "\C-pw" 'c-insert-while) (define-key c++-mode-map "\C-pr" 'c-insert-register) (progn (make-local-variable 'c-basic-offset) (setq compilation-window-height 20 c-basic-offset 2) ) ) ;; Java-Mode (defun java-insert-printf () "Fügt den Java-Befehl 'System.out.println' ein." (interactive) (insert "System.out.println(\"\");") (backward-char 3) (c-indent-command) ) (defun java-insert-public () "Fügt den Java-Befehl 'public' ein." (interactive) (insert "public ") (c-indent-command) ) (defun java-insert-class () "Fügt den Java-Befehl 'class' ein." (interactive) (insert "class {") (c-indent-command) (insert "\n\n}") (c-indent-command) (previous-line 2) (end-of-line) (backward-char 2) ) (defun java-insert-double () "Fügt den Java-Befehl 'double' ein." (interactive) (insert "double ") (c-indent-command) ) (defun java-insert-extends () "Fügt den Java-Befehl 'extends' ein." (interactive) (insert "extends ") (c-indent-command) ) (defun java-insert-final () "Fügt den Java-Befehl 'final' ein." (interactive) (insert "final ") (c-indent-command) ) (defun java-insert-import () "Fügt den Java-Befehl 'import' ein." (interactive) (insert "import ") (c-indent-command) ) (defun java-insert-native () "Fügt den Java-Befehl 'native' ein." (interactive) (insert "native ") (c-indent-command) ) (defun java-insert-return () "Fügt den Java-Befehl 'return' ein." (interactive) (insert "return;") (c-indent-command) (insert "\n") (previous-line 1) (end-of-line) (backward-char 1) ) (defun java-insert-static () "Fügt den Java-Befehl 'static' ein." (interactive) (insert "static ") (c-indent-command) ) (defun java-insert-this () "Fügt den Java-Befehl 'this' ein." (interactive) (insert "this") (c-indent-command) ) (defun java-insert-void () "Fügt den Java-Befehl 'void' ein." (interactive) (insert "void") (c-indent-command) ) (defun java-insert-try () "Fügt den Java-Befehl 'try' ein." (interactive) (insert "try {") (c-indent-command) (insert "\n\n}") (c-indent-command) (insert "\ncatch {") (c-indent-command) (insert "\n") (c-indent-command) (insert "\n") (c-indent-command) (insert "}") (c-indent-command) (previous-line 4) (c-indent-command) ) (defun java-mode-hook-fn () "Load user-defined Java Functions" (interactive) ;; Java-Funktionen (message "Now loading private Java mode ...") ;; (local-set-key '(meta backspace) 'del-word-left) (local-set-key 'return 'newline-and-indent) ;; (define-key java-mode-map "\C-pf" 'c-insert-for) (define-key java-mode-map "\C-pb" 'java-insert-public) (define-key java-mode-map "\C-pc" 'java-insert-class) (define-key java-mode-map "\C-pd" 'java-insert-double) (define-key java-mode-map "\C-px" 'java-insert-extends) (define-key java-mode-map "\C-pf" 'java-insert-final) (define-key java-mode-map "\C-pi" 'java-insert-import) (define-key java-mode-map "\C-pn" 'java-insert-native) (define-key java-mode-map "\C-pr" 'java-insert-return) (define-key java-mode-map "\C-pp" 'java-insert-printf) (define-key java-mode-map "\C-ps" 'java-insert-static) (define-key java-mode-map "\C-pt" 'java-insert-this) (define-key java-mode-map "\C-pv" 'java-insert-void) (define-key java-mode-map "\C-py" 'java-insert-try) ;; now define new compile command: (progn (make-local-variable 'compile-command) (make-local-variable 'c-basic-offset) (setq compile-command (concat "javac " buffer-file-name) compilation-window-height 20 c-basic-offset 2) ) ) ;; Shell-Mode (defun shell-mode-hook-fn () "Load user-defined Function for Shell-Mode" (interactive) ;; für Shell-Scripts (message "Now loading private shell mode ...") (local-set-key 'return 'newline-and-indent) ) ;; Now add all the functions above to their corresponding hook's (add-hook 'text-mode-hook 'text-mode-hook-fn) (add-hook 'tex-mode-hook 'tex-mode-hook-fn) (add-hook 'LaTeX-mode-hook 'LaTeX-mode-hook-fn) ;;(add-hook 'perl-mode-hook 'perl-mode-hook-fn) (add-hook 'cperl-mode-hook 'perl-mode-hook-fn) (add-hook 'c-mode-hook 'c-mode-hook-fn) (add-hook 'c++-mode-hook 'c++-mode-hook-fn) (add-hook 'ksh-mode-hook 'shell-mode-hook-fn) (add-hook 'java-mode-hook 'java-mode-hook-fn) (add-hook 'html-mode-hook 'html-mode-hook-fn) ;; allgemeine Tastatur-Einstellungen: (define-key global-map 'delete 'delete-char) (define-key emacs-lisp-mode-map 'delete 'delete-char) (define-key lisp-mode-map 'delete 'delete-char) (define-key lisp-interaction-mode-map 'delete 'delete-char) (define-key text-mode-map 'delete 'delete-char) (define-key c-mode-map 'delete 'delete-char) (define-key c++-mode-map 'delete 'delete-char) (define-key java-mode-map 'delete 'delete-char) (define-key minibuffer-local-map 'delete 'delete-char) (define-key minibuffer-local-completion-map 'delete 'delete-char) ;;(define-key tex-mode-map 'delete 'delete-char) ;;(define-key latex-mode 'delete 'delete-char) ;;(define-key latex-math-mode 'delete 'delete-char) (add-hook 'find-file-hooks 'my-korrigiere-fill-column) (global-set-key 'help 'help-for-help) (global-set-key 'f1 'command-apropos) (global-set-key '(control f1) 'manual-entry) (global-set-key 'f2 'save-buffer) (global-set-key 'f3 'find-file) (global-set-key '(shift f3) 'view-file) (global-set-key 'f5 'delete-other-windows) (global-set-key 'f9 'compile) ;(global-set-key 'f10 'server-save) (global-set-key 'f16 'copy-region-as-kill) ; Kopieren (global-set-key 'f18 'yank) ; Einsetzen (global-set-key 'f20 'kill-region) ; Ausschneiden (global-set-key 'f11 'desktop-save) ; erstmaliges Speichern (global-set-key "\C-c\C-c" 'compile) (global-set-key '(meta g) 'goto-line) (global-set-key 'find 'search-forward) (global-set-key 'select 'end-of-line) (global-set-key 'home 'beginning-of-line) (global-set-key 'next 'scroll-up) (global-set-key 'prior 'scroll-down) (global-set-key 'end 'end-of-line) (global-set-key '(control right) 'forward-word) (global-set-key '(control left) 'backward-word) (global-set-key '(control up) (lambda () (interactive) (scroll-down-in-place 8))) (global-set-key '(control down) (lambda () (interactive) (scroll-up-in-place 8))) (global-set-key '(control meta up) (lambda () (interactive) (previous-line 8))) (global-set-key '(control meta down) (lambda () (interactive) (next-line 8))) (global-set-key '(control prior) 'beginning-of-buffer) (global-set-key '(control next) 'end-of-buffer) (defun del-word-left () "Lösche das Wort links vom Cursor." (interactive) (backward-word 1) (kill-word 1) ) (defun del-word-right () "Lösche das Wort rechts vom Cursor." (interactive) (kill-word 1) ) (defun del-spaces-right () "Löscht alle Spaces vom Cursor bis zum nächsten Zeichen." (interactive) (insert "X") (delete-horizontal-space) (delete-char -1) ) (define-key global-map '(shift button1) 'my-cw-build-buffers) (define-key global-map '(shift button2) 'my-recent-files-build-buffers) (define-key global-map '(control button3) 'my-edlex-word) (define-key global-map '(shift button3) 'bookmark-menu-jump) (define-key key-translation-map [f1] nil) ;(setq help-event-list (delq 'f1 help-event-list)) ;;(global-set-key '(control backspace) 'del-word-left) (global-set-key '(control backspace) 'backward-kill-word) (global-set-key '(control delete) 'del-word-right) ;;(global-set-key '(meta backspace) 'del-word-left) (global-set-key '(meta backspace) 'backward-kill-word) (global-set-key '(meta delete) 'del-word-right) (global-set-key "\C-\\" 'del-spaces-right) (global-set-key "\C-xf" '(lambda() (interactive) (set-fill-column (current-column)))) (global-set-key '(alt space) 'other-window) ;;(global-set-key (read-kbd-macro "Sh-space") 'switch-to-buffer) (global-set-key '(meta space) 'other-window) (global-set-key '(control tab) 'tab-to-tab-stop) (global-set-key '(control return) 'eval-last-sexp) (global-set-key '(meta up) 'bury-buffer) (global-set-key '(control l) (lambda () (interactive) (recenter 7))) (global-set-key '(control alt l) 'recenter) ;(global-set-key (quote 'f10) (quote kill-emacs)) ;pressing f10 exits emacs like nc ;(global-set-key 'f10 (quote kill-emacs) ;pressing f10 exits emacs like nc (global-set-key '(meta d) 'kill-line) (global-set-key '(f12) 'kill-this-buffer) (global-set-key '(control \0) 'delete-window) (global-set-key '(control \1) 'delete-other-windows) (global-set-key '(control \2) 'split-window-vertically) (global-set-key '(control \3) 'split-window-horizontally) (global-set-key '(alt w) 'copy-region-as-kill) ; Kopieren (global-set-key '(alt d) 'kill-line) (global-set-key '(alt l) 'font-lock-fontify-buffer) (global-set-key '(kp-subtract) 'delete-frame) ;;(global-set-key 'unknown-keysym-0x1005FF76 'undo) (global-set-key [(meta insert)] 'x-insert-selection) (global-set-key '(alt u) (lambda () (interactive) (insert (getenv "WWW_HOME")))) (global-set-key '(alt right) 'enlarge-window-horizontally) (global-set-key '(alt left) 'shrink-window-horizontally) (global-set-key '(alt t) 'my-write-blank-timestamp) (global-set-key '(alt h) 'my-write-script-header) (global-set-key '(scroll-lock) 'my-kill-ws-at-eol) ;; X11R6 (global-set-key '(scroll_lock) 'my-kill-ws-at-eol) ;; Openwin (global-set-key '(pause) 'my-mrz-to-Voland) (global-set-key '(control scroll-lock) 'my-unDOS) ;; X11R6 (global-set-key '(control scroll_lock) 'my-unDOS) ;; Openwin (message "Done with loading of .XEMACS-keys.")