(let* ((my-lisp-dir "~/.emacs.d/")
(default-directory my-lisp-dir))
(setq load-path (cons my-lisp-dir load-path))
(normal-top-level-add-subdirs-to-load-path))
(when (file-exists-p "~/.emacs.d/elpa/package.el")
(when (load (expand-file-name "~/.emacs.d/elpa/package.el"))
(package-initialize)))
(require 'djcb-org nil 'noerror)
(require 'djcb-erc nil 'noerror)
(require 'djcb-wl nil 'noerror) (require 'djcb-funcs nil 'noerror) (require 'djcb-ibuffer nil 'noerror)
(require 'djcb-menu nil 'noerror)
(require 'djcb-prog nil 'noerror)
(menu-bar-mode t) (mouse-avoidance-mode 'jump) (tool-bar-mode -1)
(setq cua-enable-cua-keys nil) (cua-mode t)
(setq scroll-margin 0 scroll-conservatively 100000 scroll-up-aggressively 0 scroll-down-aggressively 0 scroll-preserve-screen-position t)
(setq fringe-mode '(1 . 0)) (delete-selection-mode 1)
(setq x-select-enable-clipboard t interprogram-paste-function 'x-cut-buffer-or-selection-value)
(setq search-highlight t query-replace-highlight t) (fset 'yes-or-no-p 'y-or-n-p)
(setq completion-ignore-case t read-file-name-completion-ignore-case t)
(setq initial-scratch-message
";; scratch buffer created -- happy hacking\n")
(setq-default
frame-title-format
'(:eval
(format "%s@%s:%s"
(or (file-remote-p default-directory 'user) user-login-name)
(or (file-remote-p default-directory 'host) system-name)
(file-name-nondirectory (or (buffer-file-name) default-directory)))))
(put 'narrow-to-region 'disabled nil) (put 'erase-buffer 'disabled nil) (file-name-shadow-mode t)
(setq inhibit-startup-message t inhibit-startup-echo-area-message t) (setq require-final-newline t)
(defadvice kill-ring-save (before slick-copy activate compile)
"When called interactively with no active region, copy a single
line instead."
(interactive
(if mark-active (list (region-beginning) (region-end))
(message "Copied line")
(list (line-beginning-position)
(line-beginning-position 2)))))
(defadvice kill-region (before slick-cut activate compile)
"When called interactively with no active region, kill a single
line instead."
(interactive
(if mark-active (list (region-beginning) (region-end))
(list (line-beginning-position)
(line-beginning-position 2)))))
(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-language-environment "UTF-8") (set-input-method nil) (setq read-quoted-char-radix 10)
(line-number-mode t) (column-number-mode t) (size-indication-mode t)
(if (require 'sml-modeline nil 'noerror) (progn
(sml-modeline-mode 1) (scroll-bar-mode -1)) (scroll-bar-mode 1) (set-scroll-bar-mode 'right))
(setq
enable-recursive-minibuffers nil max-mini-window-height .25 minibuffer-scroll-window nil
resize-mini-windows nil)
(icomplete-mode t) (setq
icomplete-prospects-height 1 icomplete-compute-delay 0) (require 'icomplete+ nil 'noerror)
(require 'uniquify) (setq
uniquify-buffer-name-style 'post-forward
uniquify-separator ":"
uniquify-after-kill-buffer-p t
uniquify-ignore-buffers-re "^\\*")
(when (fboundp 'global-hl-line-mode)
(global-hl-line-mode t))
(when (fboundp 'show-paren-mode)
(show-paren-mode t)
(setq show-paren-style 'parenthesis))
(defun emacs-session-filename (SESSION-ID)
(concat "~/.emacs.d/cache/session." SESSION-ID))
(setq bookmark-default-file "~/.emacs.d/data/bookmarks" bookmark-save-flag 1)
(setq save-place-file "~/.emacs.d/cache/saveplace")
(setq-default save-place t) (require 'saveplace) (setq savehist-additional-variables '(search ring regexp-search-ring) savehist-autosave-interval 60 savehist-file "~/.emacs.d/cache/savehist") (savehist-mode t)
(require 'recentf) (setq
recentf-save-file "~/.emacs.d/cache/recentf"
recentf-max-saved-items 100 recentf-max-menu-items 15) (recentf-mode t)
(setq abbrev-file-name "~/.emacs.d/data/abbrev_defs") (abbrev-mode t) (setq default-abbrev-mode t save-abbrevs t) (when (file-exists-p abbrev-file-name)
(quietly-read-abbrev-file)) (add-hook 'kill-emacs-hook 'write-abbrev-file)
(eval-after-load "filecache"
'(progn (message "Loading file cache...")
(file-cache-add-directory "~/")
(file-cache-add-directory-list '("~/Desktop" "~/Documents"))))
(setq make-backup-files t backup-by-copying t backup-directory-alist '(("." . "~/.emacs.d/cache/backups"))
version-control t
kept-new-versions 2
kept-old-versions 5
delete-old-versions t)
(setq time-stamp-active t time-stamp-line-limit 10 time-stamp-format "%04y-%02m-%02d %02H:%02M:%02S (%u)") (add-hook 'write-file-hooks 'time-stamp)
(setq auto-save-list-file-prefix
"~/.emacs.d/cache/auto-save-list/.saves-")
(setq ispell-program-name "aspell"
ispell-extra-args '("--sug-mode=ultra"))
(when (require 'color-theme nil 'noerror)
(when (require 'color-theme-init nil 'noerror)
(color-theme-djcb-dark))
(if (require 'zenburn nil 'noerror)
(color-theme-zenburn)))
(setq-default cursor-type '(hbar . 2))
(when (require 'sr-speedbar nil 'noerror)
(setq speedbar-supported-extension-expressions
'(".org" ".[ch]\\(\\+\\+\\|pp\\|c\\|h\\|xx\\)?"
".tex\\(i\\(nfo\\)?\\)?" ".el"
".java" ".p[lm]" ".pm" ".py" ".s?html" "Makefile.am" "configure.ac"))
(setq
sr-speedbar-width-x 20
sr-speedbar-right-side t))
(require 'tramp)
(setq shell-prompt-pattern "^[^a-zA-Z].*[#$%>] *")
(setq
tramp-default-method "ssh"
tramp-persistency-file-name "~/.emacs.d/cache/tramp")
(defadvice term-char-mode (after term-char-mode-fixes ())
(set (make-local-variable 'cua-mode) nil)
(set (make-local-variable 'transient-mark-mode) nil)
(set (make-local-variable 'global-hl-line-mode) nil)
(ad-activate 'term-char-mode)
(term-set-escape-char ?\C-x))
(add-hook 'term-mode-hook
(lambda()
(local-unset-key (kbd "<tab>"))))
(when (require 'multi-term nil 'noerror)
(setq multi-term-program "/bin/zsh"))
(setq w3m-init-file "~/.emacs.d/mylisp/djcb-w3m.el")
(if (file-exists-p "/usr/bin/conkeror")
(setq browse-url-browser-function 'browse-url-generic
browse-url-generic-program "/usr/bin/conkeror"
browse-url-default-browser "/usr/bin/conkeror")
(setq
browse-url-browser-function 'browse-url-default-browser))
(setq browse-url-new-window-flag t)
(require 'ido)
(ido-mode 'both) (setq
ido-save-directory-list-file "~/.emacs.d/cache/ido.last"
ido-ignore-buffers '("\\` " "^\*Mess" "^\*Back" ".*Completion" "^\*Ido" "^\*trace"
"^\*compilation" "^\*GTAGS" "^session\.*" "^\*")
ido-work-directory-list '("~/" "~/Desktop" "~/Documents" "~src")
ido-case-fold t ido-enable-last-directory-history t ido-max-work-directory-list 30 ido-max-work-file-list 50 ido-use-filename-at-point nil ido-use-url-at-point nil ido-enable-flex-matching nil ido-max-prospects 8 ido-confirm-unique-completion t)
(setq confirm-nonexistent-file-or-buffer nil)
(add-hook 'ido-minibuffer-setup-hook
(function
(lambda ()
(make-local-variable 'resize-minibuffer-window-max-height)
(setq resize-minibuffer-window-max-height 1))))
(when (require 'yasnippet nil 'noerror) (setq yas/root-directory
'("~/.emacs.d/yas/yasnippet/snippets"
"~/.emacs.d/yas/custom")) (mapc 'yas/load-directory yas/root-directory)
(setq yas/wrap-around-region t)
(setq yas/prompt-functions
'(yas/x-prompt yas/ido-prompt))
(yas/global-mode 1) (add-to-list 'auto-mode-alist '("yas/.*" . snippet-mode)))
(autoload 'twitter-get-friends-timeline "twitter" nil t)
(autoload 'twitter-status-edit "twitter" nil t)
(add-hook 'twitter-status-edit-mode-hook 'longlines-mode)
(autoload 'identica-mode "identica-mode" nil t)
(add-hook 'identica-mode-hook
(lambda () (load-library "secrets.el.gpg")))
(autoload 'advogato-mode "advogato" nil t)
(add-hook 'advogato-mode-hook
(lambda () (load-library "secrets.el.gpg")))
(global-set-key (kbd "RET") 'newline-and-indent)
(global-set-key (kbd "C-<f4>") 'kill-buffer-and-window)
(global-set-key (kbd "<delete>") 'delete-char) (global-set-key (kbd "M-g") 'goto-line)
(when (fboundp 'ibuffer)
(global-set-key (kbd "C-x C-b") 'ibuffer))
(global-set-key (kbd "<C-prior>")
(lambda()(interactive)(goto-char(point-min))))
(global-set-key (kbd "<C-next>")
(lambda()(interactive)(goto-char(point-max))))
(autoload 'linum-mode "linum" "mode for line numbers" t)
(global-set-key (kbd "C-<f5>") 'linum-mode) (global-set-key (kbd "C-<f6>") 'magit-status) (global-set-key (kbd "C-<f7>") 'compile) (global-set-key (kbd "C-<f8>") 'comment-or-uncomment-region)
(when (fboundp 'sr-speedbar-toggle)
(global-set-key (kbd "C-<f9>") 'sr-speedbar-toggle)
(global-set-key (kbd "C-<f10>") 'sr-speedbar-select-window)) (global-set-key (kbd "C-c d") 'djcb-dup)
(setq elscreen-prefix-key (kbd "C-c q")
elscreen-display-tab nil
elscreen-display-screen-number nil)
(when (require 'elscreen nil 'noerror)
(global-set-key (kbd "<f12>" ) 'elscreen-create)
(global-set-key (kbd "<s-f12>" ) 'elscreen-kill)
(global-set-key (kbd "<C-M-tab>") 'elscreen-previous)
(global-set-key (kbd "<C-tab>" ) 'elscreen-next))
(global-set-key (kbd "C-c l") 'org-store-link) (global-set-key (kbd "C-c a") 'org-agenda) (global-set-key (kbd "C-c b") 'org-iswitchb) (global-set-key (kbd "<f5>") 'wl) (global-set-key (kbd "<f6>") 'org-agenda-list) (global-set-key (kbd "<f7>") 'org-todo-list) (global-set-key (kbd "<f8>") 'remember)
(global-set-key (kbd "C-c W") (lambda()(interactive)(find-file wl-init-file)))
(global-set-key (kbd "C-c O") (lambda()(interactive)(find-file "~/.emacs.d/org/djcb-org.el")))
(global-set-key (kbd "C-c G") (lambda()(interactive)(find-file (concat org-directory
"agenda/todo.org"))))
(global-set-key (kbd "C-c R") (lambda()(interactive)(find-file org-default-notes-file)))
(global-set-key (kbd "C-c E") (lambda()(interactive)(find-file "~/.emacs.d/init.el")))
(global-set-key (kbd "C-c f") 'browse-url-firefox) (setq browse-url-firefox-new-window-is-tab t) (global-set-key (kbd "C-c i") 'identica-mode) (global-set-key (kbd "C-c n") 'normal-mode)
(global-set-key (kbd "C-c N") (lambda()(interactive)
(ispell-change-dictionary "nederlands") (flyspell-buffer)))
(require 'windmove)
(windmove-default-keybindings 'super) (global-set-key (kbd "<C-s-left>") 'windmove-left)
(global-set-key (kbd "<C-s-right>") 'windmove-right)
(global-set-key (kbd "<C-s-up>") 'windmove-up)
(global-set-key (kbd "<C-s-down>") 'windmove-down)
(require 'winner)
(setq winner-dont-bind-my-keys t) (global-set-key (kbd "<s-left>") 'winner-undo)
(global-set-key (kbd "<XF86Forward>") 'winner-redo)
(global-set-key (kbd "<s-right>") 'winner-redo)
(global-set-key (kbd "<XF86Back>") 'winner-undo)
(winner-mode t)
(when (fboundp 'djcb-uber-tab)
(when (fboundp 'yas/trigger-key)
(setq yas/trigger-key (kbd "C-<tab>")))
(global-set-key (kbd "<tab>") 'djcb-uber-tab)
(global-set-key (kbd "<C-S-iso-lefttab>") 'djcb-uber-tab))
(setq safe-local-variable-values
(quote ((auto-recompile . t)
(folding-mode . t)
(outline-minor-mode . t)
auto-recompile outline-minor-mode)))