|
@@ -8,22 +8,23 @@
|
|
|
initial-scratch-message "" ; I like things empty.
|
|
|
initial-major-mode 'text-mode) ; I'm usually not writing elisp.
|
|
|
|
|
|
-;;;; Base
|
|
|
+;; Base
|
|
|
|
|
|
-;; Disable beep & flash
|
|
|
-(setq ring-bell-function 'ignore)
|
|
|
-
|
|
|
-;; Disable blinking cursor
|
|
|
+(setq ring-bell-function 'ignore) ; Disable beep & flash
|
|
|
(blink-cursor-mode 0)
|
|
|
|
|
|
-;; Disable scroll bar
|
|
|
+;; No scroll bar
|
|
|
(when (boundp 'scroll-bar-mode)
|
|
|
(scroll-bar-mode -1))
|
|
|
|
|
|
-;; Smooth scrolling
|
|
|
-(setq auto-hscroll-mode 't)
|
|
|
-(setq hscroll-margin 0
|
|
|
- hscroll-step 1)
|
|
|
+;; Disable toolbar
|
|
|
+(when (display-graphic-p)
|
|
|
+ (tool-bar-mode -1))
|
|
|
+
|
|
|
+;; smoother scrolling
|
|
|
+(setq scroll-margin 0
|
|
|
+scroll-conservatively 9999
|
|
|
+scroll-step 1)
|
|
|
|
|
|
|
|
|
;; Line settings and indicators
|
|
@@ -51,9 +52,6 @@
|
|
|
(savehist-mode 1)
|
|
|
(setq savehist-additional-variables '(kill-ring search-ring regexp-search-ring))
|
|
|
|
|
|
-;; Auto-enable elisp when opening .emacs in dotfiles (without the .)
|
|
|
-(add-to-list 'auto-mode-alist '("emacs" . emacs-lisp-mode))
|
|
|
-
|
|
|
;; Always show matching parens
|
|
|
(show-paren-mode t)
|
|
|
|
|
@@ -89,47 +87,6 @@
|
|
|
(setq auto-save-file-name-transforms
|
|
|
`((".*" , "~/.emacs.d/backups/auto-saves" t)))
|
|
|
|
|
|
-;; Disable toolbar
|
|
|
-(when (display-graphic-p)
|
|
|
- (tool-bar-mode -1)
|
|
|
- )
|
|
|
-
|
|
|
-;; Save session including tabs
|
|
|
-;; http://stackoverflow.com/questions/22445670/save-and-restore-elscreen-tabs-and-split-frames
|
|
|
-(defun session-save ()
|
|
|
- "Store the elscreen tab configuration."
|
|
|
- (interactive)
|
|
|
- (if (desktop-save user-emacs-directory)
|
|
|
- (with-temp-file (concat user-emacs-directory ".elscreen")
|
|
|
- (insert (prin1-to-string (elscreen-get-screen-to-name-alist))))))
|
|
|
-
|
|
|
-;; Load session including tabs
|
|
|
-(defun session-load ()
|
|
|
- "Restore the elscreen tab configuration."
|
|
|
- (interactive)
|
|
|
- (if (desktop-read)
|
|
|
- (let ((screens (reverse
|
|
|
- (read
|
|
|
- (with-temp-buffer
|
|
|
- (insert-file-contents (concat user-emacs-directory ".elscreen"))
|
|
|
- (buffer-string))))))
|
|
|
- (while screens
|
|
|
- (setq screen (car (car screens)))
|
|
|
- (setq buffers (split-string (cdr (car screens)) ":"))
|
|
|
- (if (eq screen 0)
|
|
|
- (switch-to-buffer (car buffers))
|
|
|
- (elscreen-find-and-goto-by-buffer (car buffers) t t))
|
|
|
- (while (cdr buffers)
|
|
|
- (switch-to-buffer-other-window (car (cdr buffers)))
|
|
|
- (setq buffers (cdr buffers)))
|
|
|
- (setq screens (cdr screens))))))
|
|
|
-
|
|
|
-;; smoother scrolling
|
|
|
-(setq scroll-margin 0
|
|
|
-scroll-conservatively 9999
|
|
|
-scroll-step 1)
|
|
|
-
|
|
|
-
|
|
|
;; remember cursor position
|
|
|
(toggle-save-place-globally)
|
|
|
|
|
@@ -236,7 +193,6 @@ scroll-step 1)
|
|
|
;undo-tree
|
|
|
evil
|
|
|
evil-leader
|
|
|
- evil-tabs
|
|
|
powerline-evil
|
|
|
monokai-theme
|
|
|
challenger-deep-theme
|
|
@@ -280,6 +236,16 @@ scroll-step 1)
|
|
|
;; Activate installed packages
|
|
|
(package-initialize)
|
|
|
|
|
|
+(add-to-list 'load-path (expand-file-name "plugins" user-emacs-directory))
|
|
|
+
|
|
|
+(require 'diminish)
|
|
|
+(diminish 'visual-line-mode)
|
|
|
+(diminish 'abbrev-mode)
|
|
|
+
|
|
|
+
|
|
|
+(use-package autorevert
|
|
|
+ :diminish auto-revert-mode)
|
|
|
+
|
|
|
|
|
|
(use-package recentf
|
|
|
:config
|
|
@@ -289,7 +255,6 @@ scroll-step 1)
|
|
|
|
|
|
|
|
|
(use-package evil
|
|
|
- :ensure t
|
|
|
:config
|
|
|
(evil-mode t)
|
|
|
(setq evil-want-C-i-jump nil)
|
|
@@ -329,18 +294,24 @@ scroll-step 1)
|
|
|
(interactive "@")
|
|
|
(set-window-hscroll (selected-window) (- (current-column) (window-width) -1)))
|
|
|
|
|
|
- :bind (:map evil-normal-state-map
|
|
|
- ("zs" . hscroll-cursor-left)
|
|
|
- ("ze" . hscroll-cursor-right)
|
|
|
- ("[s" . flyspell-goto-previous-error)
|
|
|
- ("]s" . flyspell-goto-next-error)
|
|
|
- ("\C-x \C-e" . evil-eval-last-sexp)))
|
|
|
-
|
|
|
+ ;; Horizontal scrolling
|
|
|
+ (setq auto-hscroll-mode 't)
|
|
|
+ (setq hscroll-margin 0
|
|
|
+ hscroll-step 1)
|
|
|
|
|
|
-
|
|
|
-(use-package evil-tabs
|
|
|
- :config
|
|
|
- (global-evil-tabs-mode t))
|
|
|
+ :bind (:map evil-normal-state-map
|
|
|
+ ("zs" . hscroll-cursor-left)
|
|
|
+ ("ze" . hscroll-cursor-right)
|
|
|
+ ("[s" . flyspell-goto-previous-error)
|
|
|
+ ("]s" . flyspell-goto-next-error)
|
|
|
+ ("\C-x \C-e" . evil-eval-last-sexp)
|
|
|
+ :map Info-mode-map
|
|
|
+ ("g" . nil)
|
|
|
+ ("n" . nil)
|
|
|
+ ("p" . nil)
|
|
|
+ :map evil-window-map
|
|
|
+ ("q" . delete-window)
|
|
|
+ ("C-q" . delete-window)))
|
|
|
|
|
|
|
|
|
|
|
@@ -350,6 +321,10 @@ scroll-step 1)
|
|
|
("C-c C-d" . evil-numbers/dec-at-pt)))
|
|
|
|
|
|
|
|
|
+(use-package undo-tree
|
|
|
+ :diminish undo-tree-mode)
|
|
|
+
|
|
|
+
|
|
|
(use-package undohist
|
|
|
:config
|
|
|
;; ;; Save undo history under .emacs.d/undohist
|
|
@@ -360,9 +335,10 @@ scroll-step 1)
|
|
|
(undohist-initialize))
|
|
|
|
|
|
|
|
|
-(use-package powerline
|
|
|
- :config
|
|
|
- (powerline-evil-vim-color-theme))
|
|
|
+;(use-package powerline
|
|
|
+; :config
|
|
|
+; (powerline-evil-vim-color-theme))
|
|
|
+(require 'init-powerline)
|
|
|
|
|
|
|
|
|
(use-package web-mode
|
|
@@ -380,6 +356,7 @@ scroll-step 1)
|
|
|
|
|
|
|
|
|
(use-package linum-relative
|
|
|
+ :diminish linum-relative-mode
|
|
|
:config
|
|
|
(setq linum-relative-current-symbol "")
|
|
|
(linum-mode)
|
|
@@ -399,7 +376,9 @@ scroll-step 1)
|
|
|
|
|
|
(evil-leader/set-key
|
|
|
"d" 'diff-buffer-with-file
|
|
|
- "b" 'buffer-menu
|
|
|
+ ;"b" 'buffer-menu
|
|
|
+ "b" 'ivy-switch-buffer
|
|
|
+ "C-b" 'buffer-menu
|
|
|
;"f" '(lambda () (interactive) (dired '"./"))
|
|
|
"f" 'neotree-toggle
|
|
|
"u" 'undo-tree-visualize
|
|
@@ -428,6 +407,7 @@ scroll-step 1)
|
|
|
|
|
|
|
|
|
(use-package magit
|
|
|
+ :diminish magit-auto-revert-mode
|
|
|
:config
|
|
|
(setq evil-magit-state 'normal))
|
|
|
|
|
@@ -478,24 +458,28 @@ scroll-step 1)
|
|
|
|
|
|
|
|
|
(use-package editorconfig
|
|
|
+ :diminish editorconfig-mode
|
|
|
:config
|
|
|
(editorconfig-mode 1))
|
|
|
|
|
|
|
|
|
(use-package ivy
|
|
|
+ :diminish ivy-mode
|
|
|
:config
|
|
|
(ivy-mode))
|
|
|
|
|
|
|
|
|
-(use-package fuzzy
|
|
|
+(use-package flx
|
|
|
:config
|
|
|
(setq ivy-re-builders-alist '((t . ivy--regex-fuzzy))))
|
|
|
|
|
|
|
|
|
-(use-package company)
|
|
|
+(use-package company
|
|
|
+ :diminish company-mode)
|
|
|
|
|
|
|
|
|
(use-package flycheck
|
|
|
+ :diminish flycheck-mode
|
|
|
:config
|
|
|
(add-hook 'after-init-hook #'global-flycheck-mode)
|
|
|
|
|
@@ -519,6 +503,7 @@ scroll-step 1)
|
|
|
|
|
|
|
|
|
(use-package dtrt-indent
|
|
|
+ :diminish dtrt-indent-mode
|
|
|
:config
|
|
|
(dtrt-indent-mode 1))
|
|
|
|
|
@@ -526,36 +511,6 @@ scroll-step 1)
|
|
|
(use-package org)
|
|
|
|
|
|
|
|
|
-;; "after" macro definition
|
|
|
-(if (fboundp 'with-eval-after-load)
|
|
|
- (defmacro after (feature &rest body)
|
|
|
- "After FEATURE is loaded, evaluate BODY."
|
|
|
- (declare (indent defun))
|
|
|
- `(with-eval-after-load ,feature ,@body))
|
|
|
- (defmacro after (feature &rest body)
|
|
|
- "After FEATURE is loaded, evaluate BODY."
|
|
|
- (declare (indent defun))
|
|
|
- `(eval-after-load ,feature
|
|
|
- '(progn ,@body))))
|
|
|
-
|
|
|
-
|
|
|
-;;;;org-mode configuration
|
|
|
-;; Enable transient mark mode
|
|
|
-(transient-mark-mode 1)
|
|
|
-
|
|
|
-(require 'diminish)
|
|
|
-(diminish 'visual-line-mode)
|
|
|
-(after 'undo-tree (diminish 'undo-tree-mode))
|
|
|
-(after 'company (diminish 'company-mode))
|
|
|
-(after 'magit (diminish 'magit-auto-revert-mode))
|
|
|
-(diminish 'ivy-mode)
|
|
|
-(diminish 'editorconfig-mode)
|
|
|
-(diminish 'linum-relative-mode)
|
|
|
-(diminish 'auto-revert-mode)
|
|
|
-(diminish 'flycheck-mode)
|
|
|
-(diminish 'abbrev-mode)
|
|
|
-(diminish 'dtrt-indent-mode)
|
|
|
-
|
|
|
;;;; System-specific configs
|
|
|
|
|
|
(defun win-setup ()
|