init.el
changeset 85 0b91f7fe5a89
parent 84 2ad7a42a31f7
child 86 22b2ad459bc1
child 87 5e8b9d224e3e
equal deleted inserted replaced
84:2ad7a42a31f7 85:0b91f7fe5a89
    18 
    18 
    19 (put 'set-goal-column 'disabled nil)          ; enable goal column setting
    19 (put 'set-goal-column 'disabled nil)          ; enable goal column setting
    20 (put 'narrow-to-region 'disabled nil)         ; enable hiding
    20 (put 'narrow-to-region 'disabled nil)         ; enable hiding
    21 (put 'narrow-to-page 'disabled nil)
    21 (put 'narrow-to-page 'disabled nil)
    22 
    22 
       
    23 (fset 'yes-or-no-p 'y-or-n-p)                 ; replace yes/no prompts with y/n
       
    24 (windmove-default-keybindings)                ; move between windows with shift-arrow
       
    25 
    23 (column-number-mode t)                        ; show column numbers
    26 (column-number-mode t)                        ; show column numbers
    24 (delete-selection-mode t)                     ; replace highlighted text
    27 (delete-selection-mode t)                     ; replace highlighted text
    25 (windmove-default-keybindings)                ; move between windows with shift-arrow
    28 (which-function-mode t)                       ; function name at point in mode line
    26 (fset 'yes-or-no-p 'y-or-n-p)                 ; replace yes/no prompts
    29 (transient-mark-mode t)                       ; highlight selection between point and mark
    27 
    30 (electric-pair-mode t)                        ; automatically close opening characters
    28 
       
    29 ;;; Coding
       
    30 (which-function-mode t)                       ; show current function
       
    31 (transient-mark-mode t)                       ; show highlighting
       
    32 (global-font-lock-mode t)                     ; syntax highlighting
    31 (global-font-lock-mode t)                     ; syntax highlighting
       
    32 (global-subword-mode t)                       ; move by camelCase words
       
    33 (global-hl-line-mode t)                       ; highlight current line
    33 (global-set-key (kbd "C-c c") 'compile)       ; compile
    34 (global-set-key (kbd "C-c c") 'compile)       ; compile
    34 (global-set-key (kbd "C-c r") 'recompile)     ; recompile
    35 (global-set-key (kbd "C-c r") 'recompile)     ; recompile
    35 (global-set-key (kbd "C-c a") 'align-regexp)  ; align
    36 (global-set-key (kbd "C-c a") 'align-regexp)  ; align
    36 (global-set-key (kbd "C-c g") 'rgrep)         ; grep
    37 (global-set-key (kbd "C-c g") 'rgrep)         ; grep
    37 (subword-mode t)                              ; move by camelCase words
       
    38 
    38 
    39 
    39 
    40 ;;; Darwin
    40 ;;; Darwin
    41 (setq is-mac (equal system-type 'darwin))
    41 (setq is-mac (equal system-type 'darwin))
    42 (when is-mac
    42 (when is-mac
    50 ;;; Xorg
    50 ;;; Xorg
    51 (when window-system
    51 (when window-system
    52   (tool-bar-mode -1)                          ; remove tool bar
    52   (tool-bar-mode -1)                          ; remove tool bar
    53   (scroll-bar-mode -1)                        ; remove scroll bar
    53   (scroll-bar-mode -1)                        ; remove scroll bar
    54   (unless is-mac (menu-bar-mode -1))          ; remove menu bar
    54   (unless is-mac (menu-bar-mode -1))          ; remove menu bar
    55   (visual-line-mode t)                        ; word wrap break on whitespace
    55   (set-frame-font (if is-mac "Inconsolata-12" "Ubuntu Mono-10.5") nil t))
    56   (set-frame-font (if is-mac "Ubuntu Mono-12" "Ubuntu Mono-10.5")))
       
    57 
    56 
    58 
    57 
    59 ;;;; Packages ;;;;
    58 ;;;; Packages ;;;;
    60 
    59 
    61 (require 'package-require)
    60 (require 'package-require)
   140 (global-set-key (kbd "M-x") 'smex)
   139 (global-set-key (kbd "M-x") 'smex)
   141 (global-set-key (kbd "M-X") 'smex-major-mode-commands)
   140 (global-set-key (kbd "M-X") 'smex-major-mode-commands)
   142 
   141 
   143 
   142 
   144 ;;; emacs-lisp-mode
   143 ;;; emacs-lisp-mode
   145 (add-hook
   144 (add-hook 'emacs-lisp-mode-hook 'enable-paredit-mode)
   146  'emacs-lisp-mode-hook
       
   147  (lambda ()
       
   148    (flycheck-mode)
       
   149    (rainbow-mode)
       
   150    (enable-paredit-mode)))
       
   151 
   145 
   152 
   146 
   153 ;;; company-mode
   147 ;;; company-mode
   154 (add-hook 'after-init-hook 'global-company-mode)
   148 (global-company-mode t)
   155 (global-set-key (kbd "M-/") 'company-complete)
   149 (global-set-key (kbd "M-/") 'company-complete)
   156 (setq-default
   150 (setq-default
   157  company-idle-delay nil
   151  company-idle-delay nil
   158  company-minimum-prefix-length 2
   152  company-minimum-prefix-length 2
   159  company-selection-wrap-around t
   153  company-selection-wrap-around t
   160  company-show-numbers t
   154  company-show-numbers t
   161  company-tooltip-align-annotations t)
   155  company-tooltip-align-annotations t)
   162 
   156 
   163 
   157 
       
   158 ;;; flycheck-mode
       
   159 (global-flycheck-mode t)
       
   160 
       
   161 
   164 ;;; uniquify
   162 ;;; uniquify
   165 (require 'uniquify)                     ; unique buffer names with dirs
   163 (require 'uniquify)                     ; unique buffer names with dirs
   166 (setq
   164 (setq
   167  uniquify-buffer-name-style 'post-forward
   165  uniquify-buffer-name-style 'post-forward
   168  uniquify-separator ":")
   166  uniquify-separator ":")
   171 ;;; color-theme
   169 ;;; color-theme
   172 (setq-default
   170 (setq-default
   173  custom-safe-themes
   171  custom-safe-themes
   174  '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4"
   172  '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4"
   175    "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" default))
   173    "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" default))
   176 (load-theme 'solarized-light)
   174 (when window-system (load-theme 'solarized-light))
   177 
   175 
   178 
   176 
   179 ;;; show-paren-mode - needs to be loaded after theme
   177 ;;; show-paren-mode - needs to be loaded after theme
   180 (setq-default
   178 (setq-default
   181  show-paren-style 'expression
   179  show-paren-style 'expression
   186  :foreground (face-foreground 'highlight))
   184  :foreground (face-foreground 'highlight))
   187 (show-paren-mode t)
   185 (show-paren-mode t)
   188 
   186 
   189 
   187 
   190 ;;; yasnippets
   188 ;;; yasnippets
       
   189 (with-eval-after-load 'yasnippet
       
   190   (setq yas-snippet-dirs (remq 'yas-installed-snippets-dir yas-snippet-dirs)))
   191 (setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets
   191 (setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets
   192 (yas-global-mode t)
   192 (yas-global-mode t)
   193 
   193 
   194 
   194 
   195 ;;; markdown-mode
   195 ;;; markdown-mode
   197 (setq-default markdown-command "pandoc -f markdown_github")
   197 (setq-default markdown-command "pandoc -f markdown_github")
   198 
   198 
   199 
   199 
   200 ;;; html-mode
   200 ;;; html-mode
   201 (add-to-list 'auto-mode-alist '("\\.tpl\\'" . html-mode))
   201 (add-to-list 'auto-mode-alist '("\\.tpl\\'" . html-mode))
   202 (add-hook
   202 (add-hook 'html-mode-hook 'zencoding-mode)
   203  'html-mode-hook
   203 
   204  (lambda ()
   204 
   205    (zencoding-mode)
   205 ;;; color-modes map
   206    (rainbow-mode)))
       
   207 
       
   208 
       
   209 ;;; css-mode
       
   210 (add-hook 'css-mode-hook 'rainbow-mode)
       
   211 
       
   212 
       
   213 ;;; coding-modes map
       
   214 (mapc
   206 (mapc
   215  (lambda (x)
   207  (lambda (x)
   216    (add-hook x
   208    (add-hook x
   217     (lambda ()
   209     (lambda ()
       
   210       (rainbow-mode t)
   218       (linum-mode t)
   211       (linum-mode t)
   219       (subword-mode t)
       
   220       (rainbow-delimiters-mode t))))
   212       (rainbow-delimiters-mode t))))
   221  '(text-mode-hook
   213  '(text-mode-hook
   222    c-mode-common-hook
   214    c-mode-common-hook
   223    python-mode-hook
   215    python-mode-hook
   224    haskell-mode-hook
   216    haskell-mode-hook