diff options
author | Alexander Sulfrian <alexander.sulfrian@fu-berlin.de> | 2014-04-14 19:30:22 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander.sulfrian@fu-berlin.de> | 2014-04-14 19:30:22 +0200 |
commit | 81ba56789b5f14ef5527749a1af10bd0020b0d3c (patch) | |
tree | 3f9701f9f6aa8d026f351e0f4c4c975ad499d35a /emacs | |
parent | 04251dd4e270cb43f1c566b2edcd2dc1762b4ae8 (diff) | |
download | dotfiles-81ba56789b5f14ef5527749a1af10bd0020b0d3c.tar.gz dotfiles-81ba56789b5f14ef5527749a1af10bd0020b0d3c.tar.xz dotfiles-81ba56789b5f14ef5527749a1af10bd0020b0d3c.zip |
emacs: move .emacs to .emacs.d/init.el
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs | 493 |
1 files changed, 0 insertions, 493 deletions
@@ -1,493 +0,0 @@ -;; -*- self-compile-mode: t; foldingo-close: t -*- - -(setq custom-file "~/.emacs.d/emacs-custom.el") -(load custom-file) -(setq warning-suppress-types nil) - -;;{{{ load-path anpassen - -(let* ((my-lisp-dir "~/.emacs.d/lisp") - (default-directory my-lisp-dir) - (orig-load-path load-path)) - (setq load-path (cons my-lisp-dir nil)) - (normal-top-level-add-subdirs-to-load-path) - (nconc load-path orig-load-path)) - -;;}}} - -;;{{{ fix scroll bug with emacs 24.1 - -(when (boundp 'bidi-paragraph-direction) - (setq-default bidi-paragraph-direction 'left-to-right)) - -;;}}} - -;;{{{ load own color theme -(when (require 'color-theme nil 'noerror) - (color-theme-initialize) - (if (not window-system) - (color-theme-alex-console) - (color-theme-alex))) -;;}}} - -;;{{{ user settings -(setq user-full-name "Alexander Sulfrian" - user-mail-address "alexander@sulfrian.net") -;;}}} - -;; define F1 to display man page of the current word -(global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word)))) - -(load "/usr/share/emacs/site-lisp/site-gentoo" 'noerror) - -(setq text-mode-hook 'turn-on-auto-fill) -(setq fill-column 72) - -(setq semanticdb-default-save-directory "~/.emacs.d/semantic") - -(setq locale-coding-system 'latin-1) -(set-terminal-coding-system 'latin-1) -(set-keyboard-coding-system 'latin-1) -(set-selection-coding-system 'latin-1) -(prefer-coding-system 'latin-1) - -(global-set-key [mouse-3] 'imenu) - -;;{{{ fix keys for urxvt -(if (not window-system) - (mapc (lambda (map) - (define-key function-key-map - (read-kbd-macro (cadr map)) - (read-kbd-macro (car map)))) - '(("<S-tab>" "M-[ Z") - ("<S-up>" "<select>") - ("<S-down>" "M-[ b") - ("<S-right>" "M-[ c") - ("<S-left>" "M-[ d") - ("<M-up>" "ESC M-O A") - ("<M-down>" "ESC M-O B") - ("<M-right>" "ESC M-O C") - ("<M-left>" "ESC M-O D") - ("<C-up>" "M-O a") - ("<C-down>" "M-O b") - ("<C-right>" "M-O c") - ("<C-left>" "M-O d") - ("<C-M-up>" "ESC M-O a") - ("<C-M-down>" "ESC M-O b") - ("<C-M-right>" "ESC M-O c") - ("<C-M-left>" "ESC M-O d") - ("<M-S-up>" "ESC M-[ a") - ("<M-S-down>" "ESC M-[ b") - ("<M-S-right>" "ESC M-[ c") - ("<M-S-left>" "ESC M-[ d") - ))) -;;}}} - -(setq auto-mode-alist (cons '("README" . text-mode) auto-mode-alist)) -(setq compilation-scroll-output t) - -;; css-mode -(setq cssm-indent-level 4) -(setq cssm-newline-before-closing-bracket t) -(setq cssm-indent-function #'cssm-c-style-indenter) - -;; delphi-mode -(load "delphi-mode-ench.el") - -;: removing annoyances -(setq inhibit-startup-message t) -(setq require-final-newline t) -(fset 'yes-or-no-p 'y-or-n-p) -(setq next-line-add-newlines nil) - -;: general settings -(require 'paren) (show-paren-mode t) -(global-font-lock-mode t) -(setq font-lock-maximum-decoration t) -(follow-mode t) -(setq vc-follow-symlinks t) - -(require 'uniquify) -(setq uniquify-buffer-name-style 'reverse) - -(defun back-to-indentation-or-beginning () (interactive) - (if (= (point) (progn (back-to-indentation) (point))) - (beginning-of-line))) -(global-set-key (kbd "<home>") 'back-to-indentation-or-beginning) - -;; c/c++-mode stuff -(setq indent-tabs-mode t) -(setq c-default-style "linux") -(c-set-offset 'arglist-cont-nonempty '(c-lineup-arglist-tabs-only c-lineup-gcc-asm-reg)) - -(add-hook 'c-mode-common-hook - (lambda () - (setq fill-column 80) - (turn-on-auto-fill) - - ;; now '_' is not considered a word-delimiter - (modify-syntax-entry ?_ "w") - - ;; set indentation style - (c-set-style "linux") - (local-set-key (kbd "M-m") 'eassist-list-methods) - (local-set-key (kbd "C-o") 'semantic-complete-jump-local) - (local-set-key (kbd "C-c o") 'ff-find-other-file))) - -(global-set-key [C-return] 'dabbrev-expand) -(define-key esc-map [C-return] 'dabbrev-completion) - -(global-set-key [f12] 'indent-region) - -;; Enable Doxygen syntax highlighting for C and C++ -(when (require 'doxymacs nil 'noerror) - (add-hook 'font-lock-mode-hook - '(lambda () - (if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode)) - (doxymacs-font-lock))))) - -;; flyspell (with aspell for Unicode) -(setq ispell-program-name "aspell" - ispell-extra-args '("--sug-mode=ultra")) - -;; define variable to store default dictionary for automatic flyspell enabling -(defvar flyspell-dict nil "Dictionary name, that should be set during find-file for flyspell-mode. -If this is set during find-file, flyspell mode gets enabled automaticaly.") -(make-variable-buffer-local 'flyspell-dict) - -(when (require 'ispell nil 'noerror) - ;; change dictionary - (defun switch-dictionary() - (interactive) - (let* ((dic ispell-current-dictionary) - (change (if (string= dic "german") "english" "german"))) - (ispell-change-dictionary change) - (message "Dictionary switched from %s to %s" dic change) - (if flyspell-mode (save-excursion (flyspell-buffer))))) - (global-set-key (kbd "<f8>") 'switch-dictionary) - - (when (require 'flyspell nil 'noerror) - ;; check buffer if enable flyspell - (add-hook 'flyspell-mode-hook - (lambda () - (when flyspell-mode (flyspell-buffer)))) - - ;; ignore all #include stings - (add-hook 'flyspell-incorrect-hook - (lambda (left right undef) - (save-excursion - (goto-char left) - (beginning-of-line) - (if (looking-at "#include") t nil)))) - - ;; activate flyspell mode during find-file if flyspell-dict is set - (add-hook 'find-file-hook - (lambda () - (when flyspell-dict - (ispell-change-dictionary flyspell-dict) - (flyspell-mode t)))) - - ;; update flyspell after changing personal dictionary - (defadvice ispell-pdict-save (after advice) - (save-excursion (flyspell-buffer))) - (ad-activate 'ispell-pdict-save t))) - - -;; auto compile files -(require 'self-compile-mode nil 'noerror) - -;; keine Abfrage wenn ein template existiert -(when (require 'template nil 'noerror) - (setq template-auto-insert t - template-message-prompt-format nil) - - (add-to-list 'template-find-file-commands 'ido-exit-minibuffer) - (template-initialize)) - -;; remember last position in file -(setq save-place-file "~/.emacs.d/saveplace") -(setq-default save-place t) -(require 'saveplace) - -;; ignore .d files in completion -(setq completion-ignored-extensions - (append (list ".d") completion-ignored-extensions)) - -;; clever auto complete mode -(require 'ido) -(ido-mode t) -(setq - ido-ignore-buffers '("\\` " "^\*Mess" "^\*Back" ".*Completion" "^\*Ido") - ido-case-fold t - ido-use-filename-at-point nil - ido-use-url-at-point nil - ido-enable-flex-matching t - ido-max-prospects 10 - ido-enable-tramp-completion nil - ido-confirm-unique-completion t) - -;; start server if not running (to edit files with emacsclient) -(when (require 'server nil 'noerror) - (if (and (fboundp 'server-running-p) - (not (server-running-p))) - (server-start)) - - (add-hook 'server-switch-hook - (lambda () - (when (current-local-map) - (use-local-map (copy-keymap (current-local-map)))) - (when server-buffer-clients - (local-set-key (kbd "C-x k") 'server-edit))))) - -; emacs code browser -(when (require 'ecb nil 'noerror) - (ecb-activate)) - -;; smex -(setq smex-save-file "~/.emacs.d/smex.save") -(when (require 'smex nil 'noerror) - (smex-initialize) - (global-set-key (kbd "M-X") 'smex)) - -;; snippets -(when (require 'yasnippet nil 'noerror) - (yas/initialize) - (yas/load-directory "~/.emacs.d/snippets")) - -;; html-php-multi-mode -(when (require 'html-php nil 'noerror) - (setq auto-mode-alist (cons '("\\.php" . html-php-mode) auto-mode-alist))) - -;; copy/paste enhancements -;; share clipboard with other X11-Apps -(when (fboundp 'x-cut-buffer-or-selection-value) - (progn - (setq x-select-enable-clipboard t) - (setq interprogram-paste-function 'x-cut-buffer-or-selection-value))) - -;; use cua-mode, but only for rectangle selections -(setq cua-enable-cua-keys nil) -(cua-mode t) - -;; copy/kill whole line when no region is active -(defadvice kill-ring-save (before slick-copy activate compile) - (interactive (if mark-active (list (region-beginning) (region-end)) (message - "Copied line") (list (line-beginning-position) (line-beginning-position - 2))))) -(ad-activate 'kill-ring-save) - -(defadvice kill-region (before slick-cut activate compile) - (interactive - (if mark-active (list (region-beginning) (region-end)) - (list (line-beginning-position) - (line-beginning-position 2))))) -(ad-activate 'kill-region) - -;; rudel (obby/... connection) -(load "rudel-loaddefs.el") - -;; magit -(when (require 'magit nil 'noerror) - ;; magit-status (bind if available on <f5>) - (global-set-key (kbd "<f5>") 'magit-status) - (add-hook 'magit-log-edit-mode-hook (lambda () (flyspell-mode 1)))) - - -;; linum (generic & *scratch*) -(when (require 'linum-narrow nil 'noerror) - (add-hook 'find-file-hook (lambda () (linum-mode 1))) - (add-hook 'lisp-interaction-mode-hook (lambda () (linum-mode 1)))) - -;; bookmarks -(setq bookmark-default-file "~/.emacs.d/bookmarks") -(setq bookmark-save-flag 1) - -;; winring -(when (require 'winring nil 'noerror) - ;; ecb support if ecb is available - (when (fboundp 'ecb-winman-winring-enable-support) - (ecb-winman-winring-enable-support)) - - (winring-initialize) - (global-set-key (kbd "C-x j") 'winring-jump-to-configuration) - (global-set-key (kbd "C-x n") 'winring-new-configuration) - - ;; ask before deleting winring configuration - (defun winring-ask-delete-configuration () - (interactive) - (if (y-or-n-p "Delete winring configuration? ") - (winring-delete-configuration))) - - (global-set-key (kbd "C-x K") 'winring-ask-delete-configuration)) - -;; etags -(require 'etags-table nil 'noerror) - -; autocompletion for etags -(require 'auto-complete-etags nil 'noerror) - -;; change cursor according to the mode (normal, read only, overwrite) -(when (require 'cursor-chg nil 'noerror) - (toggle-cursor-type-when-idle 1) - (change-cursor-mode 1)) - -;; windmove (only if available) -(when (fboundp 'windmove-default-keybindings) (windmove-default-keybindings)) - -;; lisp-eassist -(define-key lisp-mode-shared-map (kbd "M-m") 'eassist-list-methods) - -;; dir-locals -(require 'dir-locals nil 'noerror) - -;; use sml-modeline if available -(when (require 'sml-modeline nil 'noerror) - (progn - ;; show buffer pos in the mode line - ;; and turn off the scrollbar - (sml-modeline-mode 1) - (when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))) - (when (fboundp 'scroll-bar-mode) - (progn - ;; otherwise, show a scrollbar... - ;; ... on the right - (scroll-bar-mode 1) - (set-scroll-bar-mode 'right)))) - -;; smooth-scrolling (do not jump to the middle of the screen) -(require 'smooth-scrolling nil 'noerror) - -;; browse-kill-ring -(when (require 'browse-kill-ring nil 'noerror) - (progn (browse-kill-ring-default-keybindings) - (global-set-key "\C-cy" '(lambda () (interactive) - (popup-menu 'yank-menu))))) - -;; fill adapt -(when (require 'filladapt nil 'noerror) - (setq-default filladapt-mode t)) - -;; jshint-mode -(when (require 'flymake-jshint nil 'noerror) - (add-hook 'js-mode-hook - (lambda () (flymake-mode t)))) - -;;{{{ org-mode - -(when (require 'org nil 'noerror) - (progn - (setq org-todo-keywords - '((sequence "TODO(t)" "PROGRESS(p!)" "WAIT(w@/!)" "|" - "CANCELED(c@/!)" "DONE(d!)"))) - - (setq org-todo-keyword-faces - '(("TODO" . org-warning) ("PROGRESS" . "yellow") - ("CANCELED" . (:foreground "blue" :weight bold)))) - (setq org-startup-folded 'content) - (setq org-startup-indented t))) - -;;}}} - -;; promela-mode -(when (require 'promela-mode nil 'noerror) - (setq auto-mode-alist - (append (list '("\\.promela\\'" . promela-mode) - '("\\.spin\\'" . promela-mode) - '("\\.pml\\'" . promela-mode) - '("\\.prm\\'" . promela-mode) - '("\\.porm\\'" . promela-mode)) - auto-mode-alist) - promela-block-indent 2 - promela-selection-indent 0 - promela-selection-option-indent 3)) - -;; dired+ mode -(when (require 'dired-x nil 'noerror) - (setq dired-omit-files (rx (or (seq bol (? ".") "#") - (seq "~" eol) - (seq bol "svn" eol) - (seq ".pyc" eol) - (seq bol ".git" eol) - (seq ".d" eol) - (seq ".o" eol))) - - dired-omit-extensions (append dired-latex-unclean-extensions - dired-bibtex-unclean-extensions - dired-texinfo-unclean-extensions)) - - (add-hook 'dired-mode-hook (lambda () (dired-omit-mode 1)))) - -;; arduino-mode -(require 'arduino-mode nil 'noerror) - -;;{{{ deft -(when (require 'deft nil 'noerror) - (setq deft-extension "org" - deft-directory "~/.org/deft/" - deft-text-mode 'org-mode) - (global-set-key (kbd "<f9>") 'deft)) -;;}}} - -;; edit with emacs -(when (require 'edit-server nil 'noerror) - (setq edit-server-new-frame nil) - (edit-server-start)) - -;;{{{ fix raise-frame -(defadvice raise-frame (after make-it-work (&optional frame) activate) - "Work around some bug? in raise-frame/Emacs/GTK/Metacity/something. - Katsumi Yamaoka <yamaoka@jpl.org> posted this in - http://article.gmane.org/gmane.emacs.devel:39702" - (call-process - "wmctrl" nil nil nil "-i" "-R" - (frame-parameter (or frame (selected-frame)) 'outer-window-id))) -;;}}} - -;;{{{ quick open shell - -(defun dirname (file) - (replace-regexp-in-string "[^/]*$" "" file)) - -(defun open-buffer-shell () - (interactive) - (if buffer-file-name - (start-process-shell-command - "urxvt" - nil - (concat "DIR=" (dirname buffer-file-name) " urxvt")) - (message "Buffer does not contain a file."))) - -(global-set-key (kbd "<f12>") 'open-buffer-shell) - -;;}}} - -;;{{{ foldingo-mode -(when (require 'foldingo nil 'noerror) - (add-hook 'find-file-hooks - 'install-fold-mode-if-needed) - - ;; we want never implicit foldings - (defun alex-fold-mode-hook () - (setq-default fold-implicit-fold-threshold 1000000)) - (add-hook 'fold-mode-hook - 'alex-fold-mode-hook) - - ;; close all folds when requested with file local variable folding-close - (defadvice install-fold-mode-if-needed (after alex-foldingo-fold-all compile activate) - (if (and fold-mode foldingo-close) - (fold-close-all-folds))) - - ;; shortcut for toggling a fold - (defun alex-fold-toggle-current-fold () - (interactive) - (fold-toggle (fold-current-fold))) - (define-key fold-keymap (kbd "C-c C-f") 'alex-fold-toggle-current-fold) - - ;; refresh the folds after save, but do not change the current status - (defun alex-fold-refresh-after-save () - (when fold-mode - (if foldingo-close - (fold-enter-fold-mode-close-all-folds) - (fold-enter-mode)))) - (add-hook 'after-save-hook 'alex-fold-refresh-after-save)) -;;}}} |