Experiments

My EMACS config file at 2011-08-31

August 31, 2011

Here I save my EMACS config file for myself as backup and for everyone to see.

    ;;; Hijarian's .emacs config file
    ;;; 2011-08-31


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;; 1: MODES

    ;;; Enable Viper-mode by default
    (setq viper-mode t)
    (require 'viper)

    ;;; Autoload nXHTML-mode
    (load "~/.emacs.d/nxhtml/autostart.el")

    ;;; Autoload SLIME
    (add-to-list 'load-path "~/.emacs.d/slime/")
    (require 'slime)
    (slime-setup '(slime-fancy))
    (setq slime-net-coding-system 'utf-8-unix)
    ;; Replace "sbcl" with the path to your implementation
    (setq inferior-lisp-program "sbcl")
    ;;;Autoload quicklisp
    (load (expand-file-name "~/systems/quicklisp/slime-helper.el"))

    ;;; Autoload CEDET
    (load-file "~/.emacs.d/cedet/common/cedet.el")
    ;; Enabling projects
    (global-ede-mode t)
    ;; Enabling code helpers
    (semantic-load-enable-gaudy-code-helpers)
    ;; Enabling additional features for names completion
    (require 'semantic-ia)

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;; 2: SCROLLING

    ;;; Buffer corrections
    (setq scroll-conservatively 5)
    (setq scroll-margin 5)
    (setq scroll-preserve-screen-position 1)


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;; 3: INDENTATION RULES

    ;;; To set the mod-2 indentation used when you hit the TAB key
    (setq c-basic-offset 2)
    ;;; To cause the TAB file-character to be interpreted as mod-4 indentation
    (setq tab-width 4)
    ;;; To cause TAB characters to not be used in the file for compression, and for only spaces to be used
    (setq-default indent-tabs-mode nil)

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;; 4: KILL RING INTEGRATION IN X CLIPBOARD

    ; (transient-mark-mode 1)  ; Now on by default: makes the region act quite like the text "highlight" in many apps.
    ; (setq shift-select-mode t) ; Now on by default: allows shifted cursor-keys to control the region.
    (setq mouse-drag-copy-region nil)  ; stops selection with a mouse being immediately injected to the kill ring
    (setq x-select-enable-primary nil)  ; stops killing/yanking interacting with primary X11 selection
    (setq x-select-enable-clipboard t)  ; makes killing/yanking interact with clipboard X11 selection

    ;; these will probably be already set to these values, leave them that way if so!
    (setf interprogram-cut-function 'x-select-text)
    (setf interprogram-paste-function 'x-cut-buffer-or-selection-value)

    ; You need an emacs with bug #902 fixed for this to work properly. It has now been fixed in CVS HEAD.
    ; it makes "highlight/middlebutton" style (X11 primary selection based) copy-paste work as expected
    ; if you're used to other modern apps (that is to say, the mere act of highlighting doesn't
    ; overwrite the clipboard or alter the kill ring, but you can paste in merely highlighted
    ; text with the mouse if you want to)
    (setq select-active-regions t) ;  active region sets primary X11 selection
    (global-set-key [mouse-2] 'mouse-yank-primary)  ; make mouse middle-click only paste from primary X11 selection, not clipboard and kill ring.

    ;; with this, doing an M-y will also affect the X11 clipboard, making emacs act as a sort of clipboard history, at
    ;; least of text you've pasted into it in the first place.
    (setq yank-pop-change-selection t)  ; makes rotating the kill ring change the X11 clipboard.

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;; 5: GENERIC INTERFACE UPDATES

    ;;; Disable toolbar
    (tool-bar-mode -1)

    ;;; No startup message
    (setq inhibit-startup-message t)

    ;;; Filenames in frametitle
    (setq frame-title-format "%b")

    ;;; NO BEEPING MOTHERFUCKER
    (setq visible-bell t)

    ;;; Show matching parentesis
    (show-paren-mode 1)

    ;; Column & line numbers in mode bar
    (column-number-mode t)
    (line-number-mode t)

    ;;; Call find-file-dialog with C-x M-f
    (defadvice find-file-read-args (around find-file-read-args-always-use-dialog-box act)
      "Simulate invoking menu item as if by the mouse; see `use-dialog-box'."
      (let ((last-nonmenu-event nil))
        ad-do-it))
    (global-set-key (kbd "C-x M-f") 'menu-find-file-existing)

    (custom-set-variables
      ;; custom-set-variables was added by Custom.
      ;; If you edit it by hand, you could mess it up, so be careful.
      ;; Your init file should contain only one such instance.
      ;; If there is more than one, they won't work right.
     '(initial-scratch-message nil))
    (custom-set-faces
      ;; custom-set-faces was added by Custom.
      ;; If you edit it by hand, you could mess it up, so be careful.
      ;; Your init file should contain only one such instance.
      ;; If there is more than one, they won't work right.
     '(default ((t (:inherit nil :stipple nil :background "#ffffff" :foreground "#000000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 87 :width normal :foundry "unknown" :family "Liberation Mono")))))
    (put 'upcase-region 'disabled nil)

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Previous: Mass sequential download with wget in command line Next: Status update of AFCALC development