;; ------------------------------------------------------------------- ;; Emacs-inställningar för C++-utveckling på IDA. 2006-10-02 ;; ;; Björn Svensson har gjort det mesta. Tack till Carolyn Manis och ;; Torbjörn Jonsson för färgschemat och Mikael Åsberg för fixad ;; indragning och att urklipp kan göras med DEL-knappen. ;; ;; Testat på GNU Emacs 20.7 och högre. Fungerar EJ på GNU Emacs 19.x. ;; Kontrollera din version av emacs med "emacs --version" eller ;; M-x version RET. ;; ;; Om du i din hemkatalog har en .emacs sedan tidigare med annat som ;; du vill behålla kan du kopiera utvalda delar av denna fil till din ;; befintliga .emacs. Annars kan du kopiera denna fil till din hemkatalog ;; under namnet .emacs. ;; ;; Senaste version av denna fil kan hämtas från ;; http://www.ida.liu.se/~tao/pub/tools/emacs/dot.emacs ;; ;; Kommentarer, förbättringar och idéer skickas till tao@ida.liu.se. ;; ------------------------------------------------------------------- ;; Allmäna saker (tillägg av tao@ida.liu.se) (setq default-major-mode 'text-mode) (setq require-final-newline 1) (setq inhibit-startup-message t) (put 'downcase-region 'disabled nil) ;; Reservkopiering (tillägg av tao@ida.liu.se) (setq version-control t) (setq backup-by-copying t) (setq backup-by-copying-when-linked t) (setq backup-by-copying-when-mismatch t) (setq kept-new-versions 99) (setq kept-old-versions 0) (setq delete-auto-save-files t) (setq trim-versions-without-asking t) (global-set-key "\C-X\C-s" '(lambda () (interactive) (save-buffer 16))) ;; Framhävning, så mycket som möjligt! (global-font-lock-mode t) (setq font-lock-maximum-decoration t) ;; Hantera svenska tecken korrekt. (set-language-environment "Latin-1") (set-terminal-coding-system 'latin-1) ;; Rullningslist på rätt plats! (setq scroll-bar-mode-explicit t) (set-scroll-bar-mode 'right) ;; Grundfärger. (set-background-color "White") (set-foreground-color "Black") (set-cursor-color "Black") ;; Färger för nyckelord, etc. (custom-set-variables) (custom-set-faces '(font-lock-comment-face ((((class color) (background light)) (:italic t :foreground "Firebrick")))) '(font-lock-function-name-face ((((class color) (background light)) (:bold t :foreground "Blue")))) '(font-lock-keyword-face ((((class color) (background light)) (:bold t :foreground "Black")))) '(font-lock-string-face ((((class color) (background light)) (:italic t :foreground "ForestGreen")))) '(font-lock-type-face ((((class color) (background light)) (:foreground "Blue")))) '(font-lock-variable-name-face ((((class color) (background light)) (:foreground "Black")))) '(font-lock-reference-face ((((class color) (background light)) (:foreground "ForestGreen"))))) ;; Framhäv markerat område genom invertering. (transient-mark-mode t) ;; Markera matchande parenteser. (show-paren-mode 1) ;; Diverse bra saker (setq next-line-add-newlines nil) ; Lägg inte till nya rader efter EOF. (setq line-number-mode t) ; Visa radnummer... (setq column-number-mode t) ; ...och kolumn. (setq-default indent-tabs-mode nil) ; Använd alltid mellanrumstecken, ej tab, för indrag. (setq c-basic-offset 3) ; Indragssdjup. (setq display-time-day-and-date t) ; Visa tid och datum... (setq display-time-24hr-format t) ; ...så att man fattar. (display-time) ; Visa tiden formaterad enligt ovan. ;; Låt DEL-knappen klippa ut området (möjligheten att radera ordvis med DEL förloras). ;;(if (eq window-system 'x) ;; (pc-selection-mode)) ;; Emacs21-specifikt. ;; Tar bort "skräp". (if (string-match "^21" emacs-version) (progn (tool-bar-mode -1) (blink-cursor-mode -1))) ;; Byt ordning på CR/LF. Kommer att ge indrag på varje ny rad. (setq foo (global-key-binding "\C-m")) ; Spara CR. (global-set-key "\C-m" (global-key-binding "\C-j")) ; Sätt CR till LF. (global-set-key "\C-j" foo) ; Sätt LF till gamla CR. ;; Bra tangentbindningar: F4 tar bort/fram menylisten: (global-set-key [f4] 'menu-bar-mode) ; F5 ändrar "line-wrap". (global-set-key [f5] 'toggle-truncate-lines) ;; C++-specifikt. (add-to-list 'auto-mode-alist '("\\.h$" . c++-mode)) ; Behandla *.h-filer som C++ (ej C). (add-to-list 'auto-mode-alist '("\\.icc" . c++-mode)) ; Implementeringsfiler som inkluderas. (add-to-list 'auto-mode-alist '("\\.tcc" . c++-mode)) ; Filer med templatekod. ;; Bra indrag. ;;(setq c-default-style "stroustrup") ;; Vissa föredrar denna ... (setq c-default-style "ellemtel")