Tom Willemsen
a281f040cd
Since it's no longer placed directly in the home directory it doesn't need to be named exacly the same.
301 lines
11 KiB
EmacsLisp
301 lines
11 KiB
EmacsLisp
;;; init.el --- ryuslash's emacs init
|
|
|
|
;;; Commentary:
|
|
;; Does so much and changes so often
|
|
|
|
|
|
;;; Code:
|
|
|
|
(load (concat user-emacs-directory "init2"))
|
|
|
|
(defface git-commit-summary-face
|
|
'((t (:inherit org-level-1)))
|
|
"Face for the git title line."
|
|
:group 'local)
|
|
|
|
(defface git-commit-overlong-summary-face
|
|
'((t (:background "#873732")))
|
|
"Face for commit titles that are too long."
|
|
:group 'local)
|
|
|
|
(defface git-commit-nonempty-second-line-face
|
|
'((t (:inherit git-commit-overlong-summary-face)))
|
|
"Face for the supposedly empty line in commit messages."
|
|
:group 'local)
|
|
|
|
(eval-after-load "ido" '(oni:ido-init))
|
|
(eval-after-load "jabber" '(oni:jabber-init))
|
|
(eval-after-load "newst-treeview" '(require 'newsticker-init))
|
|
(eval-after-load "org" '(require 'org-init))
|
|
(eval-after-load "rainbow-mode" '(oni:rainbow-mode-init))
|
|
(eval-after-load "smex" '(oni:smex-init))
|
|
(eval-after-load "yasnippet" '(oni:yasnippet-init))
|
|
|
|
(autoload 'define-slime-contrib "slime")
|
|
(autoload 'gtags-mode "gtags" nil t)
|
|
(autoload 'jabber-connect "jabber" nil t)
|
|
(autoload 'php-mode "php-mode" nil t)
|
|
(autoload 'po-mode "po-mode" nil t)
|
|
(autoload 'pony-mode "pony-mode" nil t)
|
|
(autoload 'sawfish-mode "sawfish" nil t)
|
|
(autoload 'server-running-p "server")
|
|
(autoload 'slime-js-minor-mode "slime-js" nil t)
|
|
(autoload 'xmodmap-mode "xmodmap-mode" nil t)
|
|
(autoload 'w3m-bookmark-view "w3m" nil t)
|
|
(autoload 'w3m-goto-url "w3m" nil t)
|
|
|
|
(require 'geiser-install)
|
|
(require 'uniquify)
|
|
(require 'ext)
|
|
(require 'oni)
|
|
|
|
(put 'upcase-region 'disabled nil)
|
|
(put 'downcase-region 'disabled nil)
|
|
(put 'narrow-to-region 'disabled nil)
|
|
(put 'scroll-left 'disabled nil)
|
|
|
|
(setq-default bidi-paragraph-direction 'left-to-right)
|
|
(setq-default c-basic-offset 4)
|
|
(setq-default fci-rule-column 73)
|
|
(setq-default indent-tabs-mode nil)
|
|
(setq-default php-mode-warn-if-mumamo-off nil)
|
|
(setq-default require-final-newline t)
|
|
(setq-default tab-width 4)
|
|
(setq-default truncate-lines t)
|
|
|
|
(setq appt-disp-window-function #'oni:appt-display-window-and-jabber)
|
|
(setq appt-display-diary nil)
|
|
(setq auto-mode-case-fold nil)
|
|
(setq auto-save-file-name-transforms oni:auto-save-name-transforms)
|
|
(setq avandu-article-render-function #'avandu-view-w3m)
|
|
(setq backup-directory-alist oni:backup-directory-alist)
|
|
(setq browse-url-browser-function 'browse-url-generic)
|
|
(setq browse-url-generic-program (getenv "BROWSER"))
|
|
(setq c-offsets-alist '((statement-block-intro . +)
|
|
(knr-argdecl-intro . 5)
|
|
(substatement-open . +)
|
|
(substatement-label . 0)
|
|
(label . 0)
|
|
(statement-case-open . +)
|
|
(statement-cont . +)
|
|
(arglist-intro . +)
|
|
(arglist-close . 0)
|
|
(inline-open . 0)
|
|
(brace-list-open . +)
|
|
(topmost-intro-cont first c-lineup-topmost-intro-cont
|
|
c-lineup-gnu-DEFUN-intro-cont)))
|
|
(setq comment-auto-fill-only-comments t)
|
|
(setq custom-file "~/.emacs.d/custom.el")
|
|
(setq custom-theme-directory "~/.emacs.d/themes")
|
|
(setq default-frame-alist
|
|
`((border-width . 0)
|
|
(internal-border-width . 0)
|
|
(vertical-scroll-bars . nil)
|
|
(menu-bar-lines . nil)
|
|
(tool-bar-lines . nil)
|
|
(font . "Envy Code R:pixelsize=18")
|
|
(alpha 90 90)))
|
|
(setq elnode-do-init nil)
|
|
(setq fci-rule-color "darkred")
|
|
(setq frame-title-format '(:eval (concat "emacs: " (buffer-name))))
|
|
(setq geiser-repl-history-filename "~/.emacs.d/geiser-history")
|
|
(setq gnus-init-file "~/.emacs.d/gnus")
|
|
(setq gtags-auto-update t)
|
|
(setq help-at-pt-display-when-idle t)
|
|
(setq highlight-80+-columns 72)
|
|
(setq identica-enable-striping t)
|
|
(setq ido-auto-merge-delay-time 1000000)
|
|
(setq ido-default-buffer-method 'selected-window)
|
|
(setq ido-max-window-height 1)
|
|
(setq ido-save-directory-list-file nil)
|
|
(setq ido-ubiquitous-command-exceptions
|
|
'(org-refile org-capture-refile))
|
|
(setq inferior-lisp-program "sbcl")
|
|
(setq inhibit-default-init t)
|
|
(setq inhibit-local-menu-bar-menus t)
|
|
(setq inhibit-startup-message t)
|
|
(setq initial-major-mode 'emacs-lisp-mode)
|
|
(setq initial-scratch-message nil)
|
|
(setq jabber-account-list '(("ryuslash@jabber.org")
|
|
("tom@ryuslash.org/Emacs"
|
|
(:connection-type . ssl))))
|
|
(setq jabber-chat-buffer-format "*jab:%n*")
|
|
(setq jabber-chat-buffer-show-avatar nil)
|
|
(setq jabber-chat-fill-long-lines nil)
|
|
(setq jabber-chat-foreign-prompt-format "%t %u/%r <\n")
|
|
(setq jabber-chat-local-prompt-format "%t %u/%r >\n")
|
|
(setq jabber-chatstates-confirm nil)
|
|
(setq jabber-history-dir "~/.emacs.d/jabber")
|
|
(setq jabber-muc-autojoin '("aethon@muc.ryuslash.org"))
|
|
(setq jabber-roster-show-bindings nil)
|
|
(setq jit-lock-defer-time 0.2)
|
|
(setq magit-repo-dirs '("~/projects/" "~/var/src/"))
|
|
(setq message-log-max 1000)
|
|
(setq message-send-mail-function 'message-send-mail-with-sendmail)
|
|
(setq message-sendmail-extra-arguments '("-a" "ryuslash"))
|
|
(setq package-archives
|
|
'(("org" . "http://orgmode.org/elpa/")
|
|
("melpa" . "http://melpa.milkbox.net/packages/")
|
|
("marmalade" . "http://marmalade-repo.org/packages/")
|
|
("gnu" . "http://elpa.gnu.org/packages/")))
|
|
(setq package-load-list '((htmlize "1.39")
|
|
(lua-mode "20111107")
|
|
all))
|
|
(setq php-function-call-face 'font-lock-function-name-face)
|
|
(setq php-mode-force-pear t)
|
|
(setq pony-tpl-indent-moves t)
|
|
(setq rainbow-delimiters-max-face-count 12)
|
|
(setq redisplay-dont-pause t)
|
|
(setq send-mail-function 'smtpmail-send-it)
|
|
(setq sendmail-program "/usr/bin/msmtp")
|
|
(setq sentence-end-double-space nil)
|
|
(setq smex-key-advice-ignore-menu-bar t)
|
|
(setq smex-save-file "~/.emacs.d/smex-items")
|
|
(setq split-height-threshold 40)
|
|
(setq time-stamp-active t)
|
|
(setq time-stamp-format "%04y-%02m-%02d %02H:%02M:%02S (%u)")
|
|
(setq type-break-good-rest-interval (* 60 10))
|
|
(setq type-break-interval (* 60 50))
|
|
(setq type-break-keystroke-threshold '(nil . nil))
|
|
(setq uniquify-buffer-name-style 'post-forward)
|
|
(setq use-dialog-box nil)
|
|
(setq user-full-name "Tom Willemsen")
|
|
(setq user-mail-address "tom@ryuslash.org")
|
|
(setq w3m-fill-column 72)
|
|
(setq window-combination-resize t)
|
|
(setq yas-fallback-behavior nil)
|
|
(setq yas-prompt-functions '(yas-ido-prompt))
|
|
|
|
(add-hook 'after-change-major-mode-hook 'set-current-mode-icon)
|
|
(add-hook 'after-save-hook 'oni:after-save-func t)
|
|
(add-hook 'before-save-hook 'oni:before-save-func)
|
|
(add-hook 'c-mode-hook 'oni:c-mode-func)
|
|
(add-hook 'css-mode-hook 'oni:css-mode-func)
|
|
(add-hook 'diary-display-hook 'oni:diary-display-func)
|
|
(add-hook 'emacs-startup-hook 'oni:emacs-startup-func)
|
|
(add-hook 'emacs-lisp-mode-hook 'oni:emacs-lisp-mode-func)
|
|
(add-hook 'go-mode-hook 'oni:go-mode-func)
|
|
(add-hook 'gtags-mode-hook 'oni:gtags-mode-func)
|
|
(add-hook 'haskell-mode-hook 'oni:haskell-mode-func)
|
|
(add-hook 'html-mode-hook 'oni:html-mode-func)
|
|
(add-hook 'jabber-alert-message-hooks 'oni:jabber-alert-message-func)
|
|
(add-hook 'jabber-chat-mode-hook 'oni:jabber-chat-mode-func)
|
|
(add-hook 'jabber-roster-mode-hook 'oni:jabber-roster-mode-func)
|
|
(add-hook 'java-mode-hook 'oni:java-mode-func)
|
|
(add-hook 'js-mode-hook 'oni:js-mode-func)
|
|
(add-hook 'js2-mode-hook 'oni:js2-mode-func)
|
|
(add-hook 'lua-mode-hook 'oni:lua-mode-func)
|
|
(add-hook 'magit-log-edit-mode-hook 'oni:magit-log-edit-mode-func)
|
|
(add-hook 'markdown-mode-hook 'oni:markdown-mode-func)
|
|
(add-hook 'message-mode-hook 'oni:message-mode-func)
|
|
(add-hook 'org-mode-hook 'oni:org-mode-func)
|
|
(add-hook 'php-mode-hook 'oni:php-mode-func)
|
|
(add-hook 'prog-mode-hook 'oni:prog-mode-func)
|
|
(add-hook 'python-mode-hook 'oni:python-mode-func)
|
|
(add-hook 'rst-mode-hook 'oni:rst-mode-func)
|
|
(add-hook 'term-mode-hook 'oni:term-mode-func)
|
|
(add-hook 'texinfo-mode-hook 'oni:texinfo-mode-func)
|
|
(add-hook 'write-file-hooks 'oni:write-file-func)
|
|
(add-hook 'yas-minor-mode-hook 'oni:yas-minor-mode-func)
|
|
|
|
(define-key key-translation-map (kbd "C-j") (kbd "C-l"))
|
|
(define-key key-translation-map (kbd "C-l") (kbd "C-j"))
|
|
|
|
(global-set-key (kbd "'") 'oni:self-insert-dwim)
|
|
(global-set-key (kbd "<XF86HomePage>") 'oni:raise-scratch)
|
|
(global-set-key (kbd "<XF86Mail>") 'oni:view-mail)
|
|
(global-set-key (kbd "<f10>") 'git-project-show-files)
|
|
(global-set-key (kbd "<f5>") 'ext:reload-buffer)
|
|
(global-set-key (kbd "<f6>") 'jabber-switch-to-roster-buffer)
|
|
(global-set-key (kbd "<f7>") 'magit-status)
|
|
(global-set-key (kbd "<hiragana>") 'oni:show-org-index)
|
|
(global-set-key (kbd "C-<") 'oni:indent-shift-left)
|
|
(global-set-key (kbd "C->") 'oni:indent-shift-right)
|
|
(global-set-key (kbd "C-M-4") 'split-window-vertically)
|
|
(global-set-key (kbd "C-M-SPC") 'er/expand-region)
|
|
(global-set-key (kbd "C-M-d") 'kill-word)
|
|
(global-set-key (kbd "C-M-w") 'backward-kill-word)
|
|
(global-set-key (kbd "C-S-k") 'kill-whole-line)
|
|
(global-set-key (kbd "C-a") 'oni:move-beginning-of-dwim)
|
|
(global-set-key (kbd "C-c a") 'org-agenda)
|
|
(global-set-key (kbd "C-c c") 'org-capture)
|
|
(global-set-key (kbd "C-c i p") 'identica-update-status-interactive)
|
|
(global-set-key (kbd "C-c p") 'oni:show-buffer-position)
|
|
(global-set-key (kbd "C-c t") 'oni:raise-ansi-term)
|
|
(global-set-key (kbd "C-d") 'oni:kill-region-or-forward-char)
|
|
(global-set-key (kbd "C-e") 'oni:move-end-of-dwim)
|
|
(global-set-key (kbd "C-k") 'oni:kill-region-or-line)
|
|
(global-set-key (kbd "C-w") 'oni:kill-region-or-backward-char)
|
|
(global-set-key (kbd "M-0") 'delete-window)
|
|
(global-set-key (kbd "M-1") 'delete-other-windows)
|
|
(global-set-key (kbd "M-2") 'split-window-below)
|
|
(global-set-key (kbd "M-3") 'split-window-right)
|
|
(global-set-key (kbd "M-4") 'split-window-horizontally)
|
|
(global-set-key (kbd "M-n") 'idomenu)
|
|
(global-set-key (kbd "M-o") 'other-window)
|
|
(global-set-key (kbd "\"") 'oni:self-insert-dwim)
|
|
|
|
(if (daemonp)
|
|
(global-set-key "\C-x\C-c" 'oni:close-client-window))
|
|
|
|
(when (or window-system (daemonp))
|
|
(global-unset-key "\C-z"))
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.jl$" . sawfish-mode))
|
|
(add-to-list 'auto-mode-alist '("\\.js\\(on\\)?$" . js2-mode))
|
|
(add-to-list 'auto-mode-alist
|
|
'("\\.m\\(ark\\)?d\\(?:o?wn\\)?$" . markdown-mode))
|
|
(add-to-list 'auto-mode-alist '("\\.php[345]?$" . php-mode))
|
|
(add-to-list 'auto-mode-alist '("\\.po\\'\\|\\.po\\." . po-mode))
|
|
(add-to-list 'auto-mode-alist '("\\.tpl$" . html-mode))
|
|
(add-to-list 'auto-mode-alist '("^PKGBUILD$" . shell-script-mode))
|
|
(add-to-list 'auto-mode-alist '("^\\.Xmodmap$" . xmodmap-mode))
|
|
|
|
(add-to-list 'debug-ignored-errors "^Can't shift all lines enough")
|
|
|
|
(add-to-list
|
|
'display-buffer-alist
|
|
'("^\\*\\(?:.+-\\)?scratch\\*$" . ((display-buffer-same-window . nil))))
|
|
(add-to-list
|
|
'display-buffer-alist
|
|
'("^\\*git-project-list\\*$" . ((git-project-show-window . nil))))
|
|
(add-to-list
|
|
'display-buffer-alist
|
|
'("^\\*magit: .*\\*$" . ((display-buffer-same-window . nil))))
|
|
|
|
(add-to-list 'compilation-finish-functions 'ext:comp-finish-function)
|
|
|
|
(blink-cursor-mode -1)
|
|
(column-number-mode -1)
|
|
(line-number-mode -1)
|
|
(tooltip-mode -1)
|
|
|
|
(package-initialize)
|
|
|
|
(auto-insert-mode)
|
|
(cua-selection-mode t)
|
|
(electric-indent-mode)
|
|
(electric-pair-mode)
|
|
(ido-mode)
|
|
(ido-ubiquitous-mode)
|
|
(savehist-mode)
|
|
(show-paren-mode)
|
|
(winner-mode)
|
|
|
|
(smex-initialize)
|
|
(help-at-pt-set-timer)
|
|
(windmove-default-keybindings)
|
|
(global-diff-hl-mode)
|
|
|
|
(load custom-file)
|
|
;; (load "rudel-loaddefs.el")
|
|
(load (expand-file-name "~/quicklisp/slime-helper.el"))
|
|
|
|
(unless (server-running-p)
|
|
(server-start))
|
|
|
|
(diminish 'auto-fill-function "_")
|
|
|
|
(provide 'init)
|
|
|
|
;;; init.el ends here
|