dotemacs/init.el

292 lines
11 KiB
EmacsLisp

(add-to-list 'load-path "~/.emacs.d/elisp/")
(add-to-list 'load-path "~/.emacs.d/elisp-git/evil/")
(add-to-list 'load-path "~/.emacs.d/elisp-git/window-numbering/")
(add-to-list 'load-path "~/.emacs.d/elisp-git/evil-snipe/")
(add-to-list 'load-path "~/.emacs.d/elisp-git/git-modes/")
(add-to-list 'load-path "~/.emacs.d/elisp-git/magit/")
(add-to-list 'load-path "~/.emacs.d/user/")
;;;; UTF-8 magic
(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/
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
;;;; Disable linewrapping
(defun line-trunc-set ()
(global-visual-line-mode -1)
(setq-default truncate-partial-width-windows t)
(setq-default truncate-lines t))
(add-hook 'text-mode-hook 'line-trunc-set)
(add-hook 'emacs-lisp-mode-hook 'line-trunc-set)
(add-hook 'evil-mode-hook 'line-trunc-set)
;(global-set-key (kbd "C-x T") 'toggle-truncate-lines)
(global-set-key (kbd "C-x t") 'global-visual-line-mode)
;;;; Tab settings
(setq default-tab-width 4)
;(define-key text-mode-map (kbd "TAB") 'self-insert-command)
(setq-default indent-tabs-mode nil)
;;;; Fix scrolling
(setq scroll-conservatively 10000)
(setq auto-window-vscroll nil)
;;;; Fix Emacs' definition of a sentence
(setq sentence-end-double-space nil)
;;;; Shiny wrap style, thanks Xah Lee
(global-visual-line-mode 1)
;;;; Highlight current line
(global-hl-line-mode 1)
;;;; Custom keys
(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-x C-d") 'dired)
(global-set-key (kbd "C-x l") 'helm-mini)
;(global-set-key (kbd "C-x l") 'recentf-open-files)
; count-lines-page after helm
;(global-set-key (kbd "C-x s") 'helm-do-grep)
;(global-set-key (kbd "C-x") 'backward-kill-word)
;(global-set-key (kbd "C-,") 'string-rectangle 'TAB)
(global-unset-key (kbd "C-u"))
(global-unset-key (kbd "C-x d"))
(global-set-key (kbd "C-x df") 'delete-frame)
;;;; make-frame key is after Helm's config
(global-set-key (kbd "C-x z") 'switch-to-buffer)
(global-set-key (kbd "C-x b") 'eval-buffer)
(global-unset-key (kbd "C-c s"))
(global-set-key (kbd "C-x T") 'neotree-toggle)
;;;; 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
;;(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
;(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)
;;;; Marmalade
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "https://marmalade-repo.org/packages/"))
;//// //// //// //// //// ////
;//// PACKAGE INITIALIZE ////
;//// //// //// //// //// ////
(package-initialize)
;;;; Set theme
(load-theme 'monokai t)
;;;; God Mode
;(require 'god-mode)
;;;; Evil mode
(require 'evil)
(evil-mode 1)
(global-set-key (kbd "C-c e") 'evil-mode)
;;;; Ace Jump mode
;(require 'ace-jump-mode)
;(define-key global-map (kbd "C-c SPC") 'ace-jump-mode)
;;;; relative-line-numbers
(require 'relative-line-numbers)
;(setq relative-line-numbers-motion-function 'vertical-motion)
(setq relative-line-numbers-motion-function 'forward-visible-line)
(global-relative-line-numbers-mode 1)
;;;; 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
;(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") 'backward-delete-char)
;(define-key helm-map (kbd "C-i") 'hippie-expand)
(define-key helm-map (kbd "C-i") 'minibuffer-complete)
(global-set-key (kbd "M-x") 'helm-M-x)
(global-set-key (kbd "C-x cf") 'make-frame)
(helm-mode 1)
;;;; zlc
;(require 'zlc)
;(zlc-mode t)
;;;; Session.el
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
;;;; Recentf-mode
(require 'recentf)
(recentf-mode 1)
(setq recentf-max-menu-items 25)
(setq recentf-max-saved-items 0)
(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
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
;;;; ERC
;(setq erc-log-channels-directory "~/.emacs.d/erc/logs/")
;(setq erc-log-write-after-insert t)
(erc-fill-mode 'nil)
;;;; 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)
;;;; fullscreen-mode
(require 'fullscreen-mode)
(fullscreen-mode 1)
;;;; yafolding.el
;(add-hook 'prog-mode-hook
; (lambda () (yafolding-mode)))
;;;; Here be customize dragons
(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.
'(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold])
'(ansi-term-color-vector [unspecified "#1F1611" "#660000" "#144212" "#EFC232" "#5798AE" "#BE73FD" "#93C1BC" "#E6E1DC"])
'(bongo-enabled-backends (quote (vlc timidity)))
'(custom-safe-themes (quote ("4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" "d809ca3cef02087b48f3f94279b86feca896f544ae4a82b523fba823206b6040" "a507b9ca4a605d5256716da70961741b9ef9ec3246041a4eb776102e8df18418" "2affb26fb9a1b9325f05f4233d08ccbba7ec6e0c99c64681895219f964aac7af" "65ae93029a583d69a3781b26044601e85e2d32be8f525988e196ba2cb644ce6a" "0795e2c85394140788d72d34969be4acb305e4a54149e7237787d9df27832fbb" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" "47bff723f2aca3a9a5726abcc52a7cc4192b556dd80b3f773589994d2ed24d16" "013e87003e1e965d8ad78ee5b8927e743f940c7679959149bbee9a15bd286689" "ad9fc392386f4859d28fe4ef3803585b51557838dbc072762117adad37e83585" "1011be33e9843afd22d8d26b031fbbb59036b1ce537d0b250347c19e1bd959d0" "784d5ee4d33befba6a21702ead67f98346770be7cc17ab64952ae3866a403743" "930a202ae41cb4417a89bc3a6f969ebb7fcea5ffa9df6e7313df4f7a2a631434" "0e121ff9bef6937edad8dfcff7d88ac9219b5b4f1570fd1702e546a80dba0832" "442c946bc5c40902e11b0a56bd12edc4d00d7e1c982233545979968e02deb2bc" "e16a771a13a202ee6e276d06098bc77f008b73bbac4d526f160faa2d76c1dd0e" "9eb5269753c507a2b48d74228b32dcfbb3d1dbfd30c66c0efed8218d28b8f0dc" "c4e6fe8f5728a5d5fd0e92538f68c3b4e8b218bcfb5e07d8afff8731cc5f3df0" "c739f435660ca9d9e77312cbb878d5d7fd31e386a7758c982fa54a49ffd47f6e" "97a2b10275e3e5c67f46ddaac0ec7969aeb35068c03ec4157cf4887c401e74b1" "024b0033a950d6a40bbbf2b1604075e6c457d40de0b52debe3ae994f88c09a4a" default)))
'(debug-on-error nil)
'(diary-entry-marker (quote font-lock-variable-name-face))
'(emms-mode-line-icon-image-cache (quote (image :type xpm :ascent center :data "/* XPM */
static char *note[] = {
/* width height num_colors chars_per_pixel */
\" 10 11 2 1\",
/* colors */
\". c #358d8d\",
\"# c None s None\",
/* pixels */
\"###...####\",
\"###.#...##\",
\"###.###...\",
\"###.#####.\",
\"###.#####.\",
\"#...#####.\",
\"....#####.\",
\"#..######.\",
\"#######...\",
\"######....\",
\"#######..#\" };")))
'(emms-player-list (quote (emms-player-vlc emms-player-ogg123 emms-player-mplayer-playlist emms-player-mplayer emms-player-mpg321)))
'(emms-playlist-mode-center-when-go t)
'(erc-fill-mode nil)
'(erc-generate-log-file-name-function (quote erc-generate-log-file-name-network))
'(erc-log-channels-directory "~/.emacs.d/erc/logs/")
'(erc-log-mode t)
'(erc-log-write-after-insert t)
'(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]
")
'(erc-timestamp-format-right nil)
'(fci-rule-character-color "#452E2E")
'(gnus-logo-colors (quote ("#0d7b72" "#adadad")))
'(gnus-mode-line-image-cache (quote (image :type xpm :ascent center :data "/* XPM */
static char *gnus-pointer[] = {
/* width height num_colors chars_per_pixel */
\" 18 13 2 1\",
/* colors */
\". c #358d8d\",
\"# c None s None\",
/* pixels */
\"##################\",
\"######..##..######\",
\"#####........#####\",
\"#.##.##..##...####\",
\"#...####.###...##.\",
\"#..###.######.....\",
\"#####.########...#\",
\"###########.######\",
\"####.###.#..######\",
\"######..###.######\",
\"###....####.######\",
\"###..######.######\",
\"###########.######\" };")))
'(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"))))
(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)