dotemacs/init.el

201 lines
7.3 KiB
EmacsLisp
Raw Normal View History

;;;; UTF-8 magic
2014-09-29 18:37:30 +00:00
(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)
;;;; Simplify the GUI, thanks http://www.masteringemacs.org/articles/2010/10/04/beginners-guide-to-emacs/
2014-09-29 18:37:30 +00:00
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
;;;; Tab settings
2014-09-29 18:37:30 +00:00
(setq default-tab-width 4)
(define-key text-mode-map (kbd "TAB") 'self-insert-command)
;;;; Fix scrolling
2014-09-29 18:37:30 +00:00
(setq scroll-conservatively 1)
;;;; Fix Emacs' definition of a sentence
2014-09-29 18:37:30 +00:00
(setq sentence-end-double-space nil)
;;;; Shiny wrap style, thanks Xah Lee
2014-09-29 18:37:30 +00:00
(global-visual-line-mode 1)
;;;; Highlight current line and show line numbers
2014-09-29 18:37:30 +00:00
(global-hl-line-mode 1)
(global-linum-mode 1)
;;;; linum-relative
2014-10-03 01:11:00 +00:00
;(require 'linum-relative)
;(linum-mode 1)
;;;; Custom keys
2014-09-29 18:37:30 +00:00
;(global-set-key (kbd "<escape>") 'god-mode-all)
(global-set-key (kbd "C-y") 'whole-line-or-region-yank)
(global-set-key (kbd "M-w") 'whole-line-or-region-kill-ring-save)
(global-set-key (kbd "C-w") 'whole-line-or-region-kill-region)
(global-set-key (kbd "C-x C-1") 'delete-other-windows)
(global-set-key (kbd "C-x C-2") 'split-window-below)
(global-set-key (kbd "C-x C-3") 'split-window-right)
(global-set-key (kbd "C-x C-0") 'delete-window)
;(global-set-key (kbd "C-`") 'point-to-register)
;(global-set-key (kbd "C-'") 'jump-to-register)
(global-set-key (kbd "C-h") 'backward-delete-char)
(global-set-key (kbd "C-c n") 'helm-mini)
;(global-set-key (kbd "C-x") 'backward-kill-word)
;(global-set-key (kbd "C-,") 'string-rectangle 'TAB)
2014-10-03 01:11:00 +00:00
(global-unset-key (kbd "C-u"))
(global-set-key (kbd "C-x cf") 'make-frame)
(global-unset-key (kbd "C-x d"))
(global-set-key (kbd "C-x df") 'delete-frame)
;;;; Fix multi-line indenting - thanks forcer!
;(defun hn/add-tab-in-front-of-every-line-in-region (beg end) (interactive "r")
;(save-excursion (goto-char beg) (goto-char (point-at-bol)) (while (re-search-forward "^" end t) (insert "\t"))))
;(global-set-key (kbd "C-.") 'hn/add-tab-in-front-of-every-line-in-region)
;;;; Indicate god-mode with cursor color
;(defun my-update-cursor ()
;(set-cursor-color
;(if (or god-local-mode buffer-read-only) "#ffffff" "#ff0000")))
;(add-hook 'god-mode-enabled-hook 'my-update-cursor)
;(add-hook 'god-mode-disabled-hook 'my-update-cursor)
;;;; Transparent Emacs window
2014-09-29 18:37:30 +00:00
;;(set-frame-parameter (selected-frame) 'alpha '(<active> [<inactive>]))
;(set-frame-parameter (selected-frame) 'alpha '(90 50))
;(add-to-list 'default-frame-alist '(alpha 90 50))
;(add-to-list 'load-path "~/.emacs.d/elisp/")
;;;; MELPA
2014-09-29 18:37:30 +00:00
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(require 'package)
(add-to-list 'package-archives
'("melpa-stable" . "http://melpa-stable.milkbox.net/packages/") t)
2014-09-29 18:37:30 +00:00
;//// //// //// //// //// ////
;//// PACKAGE INITIALIZE ////
;//// //// //// //// //// ////
(package-initialize)
;;;; Set theme
2014-09-29 18:37:30 +00:00
(load-theme 'distinguished t)
;;;; God Mode
2014-09-29 18:37:30 +00:00
;(require 'god-mode)
;;;; Evil mode
2014-09-29 18:37:30 +00:00
(require 'evil)
(evil-mode 1)
;;;; Ace Jump mode
2014-10-03 01:11:00 +00:00
;(require 'ace-jump-mode)
;(define-key global-map (kbd "C-c SPC") 'ace-jump-mode)
;;;; Emms
2014-09-29 18:37:30 +00:00
(add-to-list 'load-path "~/elisp/emms/")
(require 'emms-setup)
(emms-standard)
(emms-default-players)
;;;; Enable Ido mode
;(require 'ido)
;(ido-mode t)
;(define-key ido-buffer-completion-map (kbd "C-h") 'ido-delete-backward-updir)
;(setq ido-enable-flex-matching t)
;;(global-set-key (kbd "DEL") 'ido-delete-backward-updir)
;;;; smex - Ido for Alt-x (M-x)
;(require 'smex)
;(smex-initialize)
;(global-set-key (kbd "M-x") 'smex)
;;;; Ido-ubiquitous
2014-09-29 18:37:30 +00:00
;(require 'ido-ubiquitous)
;(ido-ubiquitous-mode 1)
;;;; Helm
(require 'helm-config)
(require 'helm-grep)
(global-set-key (kbd "C-c h") 'helm-command-prefix)
(global-unset-key (kbd "C-x c"))
(define-key helm-map (kbd "C-h") 'helm-ff--deleting-char-backward)
(global-set-key (kbd "M-x") 'helm-M-x)
(helm-mode 1)
;;;; zlc
2014-10-03 01:11:00 +00:00
;(require 'zlc)
;(zlc-mode t)
;;;; Session.el
2014-09-29 18:37:30 +00:00
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
;;;; Recentf-mode
2014-09-29 18:37:30 +00:00
(require 'recentf)
(recentf-mode 1)
(setq recentf-max-menu-items 25)
(global-set-key "\C-x\ \C-r" 'recentf-open-files)
;;;; text size change
(set-face-attribute 'default nil :font "-outline-Bitstream Vera Sans Mono-normal-normal-normal-mono-12-*-*-*-c-*-iso8859-1")
;;;; Ediff stuff
2014-09-29 18:37:30 +00:00
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
;;;; ERC
2014-09-29 18:37:30 +00:00
;(setq erc-log-channels-directory "~/.emacs.d/erc/logs/")
2014-10-03 01:11:00 +00:00
;(setq erc-log-write-after-insert t)
;;;; yafolding.el
2014-09-29 18:37:30 +00:00
(add-hook 'prog-mode-hook
(lambda () (yafolding-mode)))
; Win-switch
(require 'win-switch)
(global-set-key "\C-xo" 'win-switch-dispatch)
(setq win-switch-other-window-first nil)
; window-number
(require 'window-number)
(window-number-mode)
;;;; Here be customize dragons
2014-09-29 18:37:30 +00:00
(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.
'(custom-safe-themes (quote ("0795e2c85394140788d72d34969be4acb305e4a54149e7237787d9df27832fbb" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" "47bff723f2aca3a9a5726abcc52a7cc4192b556dd80b3f773589994d2ed24d16" "013e87003e1e965d8ad78ee5b8927e743f940c7679959149bbee9a15bd286689" "ad9fc392386f4859d28fe4ef3803585b51557838dbc072762117adad37e83585" "1011be33e9843afd22d8d26b031fbbb59036b1ce537d0b250347c19e1bd959d0" "784d5ee4d33befba6a21702ead67f98346770be7cc17ab64952ae3866a403743" "930a202ae41cb4417a89bc3a6f969ebb7fcea5ffa9df6e7313df4f7a2a631434" "0e121ff9bef6937edad8dfcff7d88ac9219b5b4f1570fd1702e546a80dba0832" "442c946bc5c40902e11b0a56bd12edc4d00d7e1c982233545979968e02deb2bc" "e16a771a13a202ee6e276d06098bc77f008b73bbac4d526f160faa2d76c1dd0e" "9eb5269753c507a2b48d74228b32dcfbb3d1dbfd30c66c0efed8218d28b8f0dc" "c4e6fe8f5728a5d5fd0e92538f68c3b4e8b218bcfb5e07d8afff8731cc5f3df0" "c739f435660ca9d9e77312cbb878d5d7fd31e386a7758c982fa54a49ffd47f6e" "97a2b10275e3e5c67f46ddaac0ec7969aeb35068c03ec4157cf4887c401e74b1" "024b0033a950d6a40bbbf2b1604075e6c457d40de0b52debe3ae994f88c09a4a" default)))
2014-10-03 01:11:00 +00:00
'(debug-on-error nil)
'(erc-fill-mode nil)
2014-09-29 18:37:30 +00:00
'(erc-generate-log-file-name-function (quote erc-generate-log-file-name-network))
'(erc-log-channels-directory "~/.emacs.d/erc/logs/")
2014-09-29 18:37:30 +00:00
'(erc-log-mode t)
2014-10-03 01:11:00 +00:00
'(erc-log-write-after-insert t)
2014-09-29 18:37:30 +00:00
'(erc-modules (quote (autojoin completion list log menu ring stamp ercn netsplit fill button match track readonly networks autojoin noncommands irccontrols move-to-prompt stamp)))
'(erc-nick (quote ("HisaoNakai" "[Batou]" "[Togusa]" "[2501]")))
'(erc-stamp-mode t)
'(erc-timestamp-format-left "
[%Y %m %e %T %N]
")
2014-10-03 01:11:00 +00:00
'(erc-timestamp-format-right nil)
2014-09-29 18:37:30 +00:00
'(session-registers (quote (t 45 61 92 96 region (97 . 122))))
'(session-use-package t nil (session))
'(win-switch-down-keys (quote ("j")))
'(win-switch-enlarge-vertically-keys (quote ("K")))
'(win-switch-left-keys (quote ("h")))
'(win-switch-shrink-horizontally-keys (quote ("H")))
'(win-switch-shrink-vertically-keys (quote ("J")))
'(win-switch-up-keys (quote ("k"))))
2014-09-29 18:37:30 +00:00
(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.
)
; Workgroups2
(require 'workgroups2)
(workgroups-mode 1)