Переглянути джерело

Revert: there were evil motion mode problems

Josh Bicking 8 роки тому
батько
коміт
6b69aa6cfa
1 змінених файлів з 204 додано та 223 видалено
  1. 204 223
      emacs

+ 204 - 223
emacs

@@ -45,238 +45,225 @@
   (tool-bar-mode -1)
   )
 
-;;; Spelling
-(when (require 'flyspell nil 'noerror)
-  ;; move point to previous error
-  ;; based on code by hatschipuh at
-  ;; http://emacs.stackexchange.com/a/14912/2017
-  (defun flyspell-goto-previous-error (arg)
-    "Go to arg previous spelling error."
-    (interactive "p")
-    (while (not (= 0 arg))
-      (let ((pos (point))
-            (min (point-min)))
-        (if (and (eq (current-buffer) flyspell-old-buffer-error)
-                 (eq pos flyspell-old-pos-error))
-            (progn
-              (if (= flyspell-old-pos-error min)
-                  ;; goto beginning of buffer
-                  (progn
-                    (message "Restarting from end of buffer")
-                    (goto-char (point-max)))
-                (backward-word 1))
-              (setq pos (point))))
-        ;; seek the next error
-        (while (and (> pos min)
-                    (let ((ovs (overlays-at pos))
-                          (r '()))
-                      (while (and (not r) (consp ovs))
-                        (if (flyspell-overlay-p (car ovs))
-                            (setq r t)
-                          (setq ovs (cdr ovs))))
-                      (not r)))
-          (backward-word 1)
-          (setq pos (point)))
-        ;; save the current location for next invocation
-        (setq arg (1- arg))
-        (setq flyspell-old-pos-error pos)
-        (setq flyspell-old-buffer-error (current-buffer))
-        (goto-char pos)
-        (if (= pos min)
-            (progn
-              (message "No more miss-spelled word!")
-              (setq arg 0))
-          (forward-word)))))
-
-  (global-set-key (kbd "C-=") 'flyspell-goto-next-error)
-  (global-set-key (kbd "M-=") 'flyspell-goto-previous-error)
-  )
-
-;; Recent Files
-(when (require 'recentf nil 'noerror)
-  (recentf-mode 1)
-  (setq recentf-max-menu-items 25)
-  )
-
 
 ;;;; Packages
 
 ;; Package installation
-(when (require 'package nil 'noerror)
-
-  (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/"))
-  (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
-  (add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/"))
-
-  (setq package-enable-at-startup nil)
-  (package-initialize)
-
-  ;; Function to ensure every package in installed, and ask if it isn't.
-  (defun ensure-package-installed (&rest packages)
-    (mapcar
-     (lambda (package)
-  	 (if (package-installed-p package)
-  		 nil
-  	   (if (y-or-n-p (format "Package %s is missing. Install it? " package))
-  		   (package-install package)
-  		 package)))
-     packages))
-
-  ;; Make sure to have downloaded archive description.
-  (or (file-exists-p package-user-dir)
-  	(package-refresh-contents))
-
-  ;;; Activate installed packages
-  ;(package-initialize)
-
-  ;; Check that all packages are installed
-  (defun install-packages ()
-    (interactive)
-    (ensure-package-installed
-     'iedit
-     'undo-tree
-     'monokai-theme
-     'auto-complete
-     'ac-html
-     'linum-relative
-     'relative-line-numbers
-     'web-mode
-     'flymd
-     'evil
-     'evil-leader
-     'evil-tabs
-     'powerline-evil
-     'magit
-     'evil-magit
-     'multi-term
-     'markdown-mode
-     )
-    )
-  )
+(require 'package)
+
+(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/"))
+(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
+(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/"))
+
+(setq package-enable-at-startup nil)
+(package-initialize)
+
+;; Function to ensure every package in installed, and ask if it isn't.
+(defun ensure-package-installed (&rest packages)
+  (mapcar
+   (lambda (package)
+	 (if (package-installed-p package)
+		 nil
+	   (if (y-or-n-p (format "Package %s is missing. Install it? " package))
+		   (package-install package)
+		 package)))
+   packages))
+
+;; Make sure to have downloaded archive description.
+(or (file-exists-p package-user-dir)
+	(package-refresh-contents))
+
+;; Activate installed packages
+(package-initialize)
+
+;; Check that all packages are installed
+(ensure-package-installed
+ 'iedit
+ 'magit
+ 'evil-magit
+ 'undo-tree
+ 'evil
+ 'evil-leader
+ 'evil-tabs
+ 'powerline-evil
+ 'monokai-theme
+ 'auto-complete
+ 'ac-html
+ 'fuzzy
+ 'general
+ 'linum-relative
+ 'web-mode
+ 'multi-term
+ 'relative-line-numbers
+ 'flymd
+ 'markdown-mode
+ )
+
+;;; Evil
+
+;; No C-i jump
+(setq evil-want-C-i-jump nil)
+
+;; Evil tabs
+(global-evil-tabs-mode t)
+
+;; Default to evil mode
+(evil-mode t)
+
+;; Move all elements of evil-emacs-state-modes to evil-motion-state-modes
+(setq evil-motion-state-modes (append evil-emacs-state-modes evil-motion-state-modes))
+(setq evil-emacs-state-modes nil)
 
+;; Delete info bindings for evil to take over
+(define-key Info-mode-map "g" nil)
+(define-key Info-mode-map "n" nil)
+(define-key Info-mode-map "p" nil)
+
+;; Vim removing of windows
+(define-key evil-window-map (kbd "q") 'delete-window)
+(define-key evil-window-map (kbd "C-q") 'delete-window)
 
 ;;; undo-tree
-(when (require 'undo-tree nil 'noerror)
-  ;; Save undo history under .emacs.d/undo
-  (setq undo-tree-auto-save-history t
-           undo-tree-history-directory-alist
-           `(("." . ,(concat user-emacs-directory "undo"))))
-     (unless (file-exists-p (concat user-emacs-directory "undo"))
-       (make-directory (concat user-emacs-directory "undo")))
-     )
 
-;;; Autocomplete
-(when (require 'auto-complete nil 'noerror)
-  (eval-and-compile
-    (require 'auto-complete nil 'noerror))
-  (ac-config-default)
-  (setq ac-auto-start t)
-  (global-set-key (kbd "<backtab>") 'ac-previous)
-
-  (when (require 'ac-html nil 'noerror)
-    (setq web-mode-ac-sources-alist
-      '(("css" . (ac-source-css-property))
-        ("html" . (ac-source-words-in-buffer ac-source-abbrev))))
-    (ac-linum-workaround)
-    )
-  )
+;; Save undo history under .emacs.d/undo
+(setq undo-tree-auto-save-history t
+         undo-tree-history-directory-alist
+         `(("." . ,(concat user-emacs-directory "undo"))))
+   (unless (file-exists-p (concat user-emacs-directory "undo"))
+(make-directory (concat user-emacs-directory "undo")))
 
-;;; Relative line numbers
-(when (require 'linum-relative nil 'noerror)
-  (setq linum-relative-current-symbol "")
-  (linum-mode)
-  (linum-relative-global-mode)
-  )
+;;; Powerline
+
+(require 'powerline)
+(powerline-evil-center-color-theme)
+(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.
+ '(powerline-evil-normal-face ((t (:background "#859900")))))
+
+;;; Recent Files
+
+(require 'recentf)
+(recentf-mode 1)
+(setq recentf-max-menu-items 25)
 
 ;;; Web mode
-(when (require 'web-mode nil 'noerror)
-  ;; 2 spaces for an indent
-  (defun my-web-mode-hook ()
-    "Hooks for Web mode."
-    (setq web-mode-markup-indent-offset 2)
-  )
-  (add-hook 'web-mode-hook  'my-web-mode-hook)
 
-  ;; Auto-enable web-mode when opening relevent files
-  (add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
-  (add-to-list 'auto-mode-alist '("\\.hbs\\'" . web-mode))
-  (add-to-list 'auto-mode-alist '("\\.handlebars\\'" . web-mode))
-  )
+(require 'web-mode)
 
-;;; flymd
-(when (require 'flymd nil 'noerror)
-  ; flymd.md and flymd.html are deleted upon markdown buffer killed
-  (setq flymd-close-buffer-delete-temp-files t)
-  )
+;; 2 spaces for an indent
+(defun my-web-mode-hook ()
+  "Hooks for Web mode."
+  (setq web-mode-markup-indent-offset 2)
+)
+(add-hook 'web-mode-hook  'my-web-mode-hook)
 
-;;; Evil
-(when (require 'evil nil 'noerror)
-  ;; Default to evil mode
-  (evil-mode t)
-
-  ;; No C-i jump
-  (setq evil-want-C-i-jump nil)
-
-  ;; Move all elements of evil-emacs-state-modes to evil-motion-state-modes
-  (setq evil-motion-state-modes (append evil-emacs-state-modes evil-motion-state-modes))
-  (setq evil-emacs-state-modes nil)
-
-  ;; Delete info bindings for evil to take over
-  (define-key Info-mode-map "g" nil)
-  (define-key Info-mode-map "n" nil)
-  (define-key Info-mode-map "p" nil)
-
-  ;; Vim removing of windows
-  (define-key evil-window-map (kbd "q") 'delete-window)
-  (define-key evil-window-map (kbd "C-q") 'delete-window)
-
-  ;; Evil tabs
-  (when (require 'evil-tabs nil 'noerror)
-    (global-evil-tabs-mode t)
-    )
-
-  ;;; powerline-evil
-  (when (require 'powerline-evil nil 'noerror)
-    (powerline-evil-center-color-theme)
-    (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.
-     '(powerline-evil-normal-face ((t (:background "#859900")))))
-    )
-
-  ;;; Magit & evil-magit
-  (when (require 'magit nil 'noerror)
-    (when (require 'evil-magit nil 'noerror)
-      (setq evil-magit-state 'normal)
-      (global-magit-file-mode)
-      )
-    )
-
-  ;;; evil-leader
-  (when (require 'evil-leader nil 'noerror)
-    ;; Evil leader is Space
-    (global-evil-leader-mode)
-    (evil-leader/set-leader "<SPC>")
-
-    ;; Leader keybinds
-    (evil-leader/set-key
-     "d" 'diff-buffer-with-file
-     "b" 'buffer-menu
-     "f" '(lambda ()  (interactive) (dired '"./"))
-     "u" 'undo-tree-visualize
-     "m" 'recentf-open-files
-     "l" 'auto-fill-mode
-     "s" '(lambda () (interactive) (if flyspell-mode (funcall-interactively 'flyspell-mode '0) (flyspell-mode) (flyspell-buffer)))
-     "a" 'auto-complete-mode
-     "g" 'magit-status
-     "M-g" 'magit-dispatch-popup
-     )
-    )
+;; Auto-enable web-mode when opening relevent files
+(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.hbs\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.handlebars\\'" . web-mode))
 
-  )
+;;; Autocomplete
+
+(require 'auto-complete)
+(eval-and-compile
+  (require 'auto-complete nil 'noerror))
+(ac-config-default)
+(setq ac-auto-start t)
+(global-set-key (kbd "<backtab>") 'ac-previous)
+(require 'ac-html)
+(setq web-mode-ac-sources-alist
+  '(("css" . (ac-source-css-property))
+    ("html" . (ac-source-words-in-buffer ac-source-abbrev))))
+(ac-linum-workaround)
+
+;;; Spelling
+
+;; map ]s and [s to next and previously wrong word
+
+;; move point to previous error
+;; based on code by hatschipuh at
+;; http://emacs.stackexchange.com/a/14912/2017
+(defun flyspell-goto-previous-error (arg)
+  "Go to arg previous spelling error."
+  (interactive "p")
+  (while (not (= 0 arg))
+    (let ((pos (point))
+          (min (point-min)))
+      (if (and (eq (current-buffer) flyspell-old-buffer-error)
+               (eq pos flyspell-old-pos-error))
+          (progn
+            (if (= flyspell-old-pos-error min)
+                ;; goto beginning of buffer
+                (progn
+                  (message "Restarting from end of buffer")
+                  (goto-char (point-max)))
+              (backward-word 1))
+            (setq pos (point))))
+      ;; seek the next error
+      (while (and (> pos min)
+                  (let ((ovs (overlays-at pos))
+                        (r '()))
+                    (while (and (not r) (consp ovs))
+                      (if (flyspell-overlay-p (car ovs))
+                          (setq r t)
+                        (setq ovs (cdr ovs))))
+                    (not r)))
+        (backward-word 1)
+        (setq pos (point)))
+      ;; save the current location for next invocation
+      (setq arg (1- arg))
+      (setq flyspell-old-pos-error pos)
+      (setq flyspell-old-buffer-error (current-buffer))
+      (goto-char pos)
+      (if (= pos min)
+          (progn
+            (message "No more miss-spelled word!")
+            (setq arg 0))
+        (forward-word)))))
+
+(global-set-key (kbd "C-=") 'flyspell-goto-next-error)
+(global-set-key (kbd "M-=") 'flyspell-goto-previous-error)
 
+;;; Relative line numbers
+
+(require 'linum-relative)
+(setq linum-relative-current-symbol "")
+(linum-mode)
+(linum-relative-global-mode)
+
+;;; flymd
+
+; flymd.md and flymd.html are deleted upon markdown buffer killed
+(setq flymd-close-buffer-delete-temp-files t)
+
+;;; evil-leader
+
+;; Evil leader is Space
+(global-evil-leader-mode)
+(evil-leader/set-leader "<SPC>")
+
+;; Leader keybinds
+(evil-leader/set-key
+ "d" 'diff-buffer-with-file
+ "b" 'buffer-menu
+ "f" '(lambda ()  (interactive) (dired '"./"))
+ "u" 'undo-tree-visualize
+ "m" 'recentf-open-files
+ "l" 'auto-fill-mode
+ "s" '(lambda () (interactive) (if flyspell-mode (funcall-interactively 'flyspell-mode '0) (flyspell-mode) (flyspell-buffer)))
+ "a" 'auto-complete-mode
+ "g" 'magit-status
+ "M-g" 'magit-dispatch-popup
+ )
+
+;; Magit
+(require 'magit)
+(setq evil-magit-state 'normal)
+(require 'evil-magit)
+(global-magit-file-mode)
 
 ;;;; System-specific configs
 
@@ -313,11 +300,5 @@
  '(initial-scratch-message "")
  '(package-selected-packages
    (quote
-    (monokai-theme undo-tree flymd relative-line-numbers multi-term ac-html web-mode evil-magit linum-relative general fuzzy auto-complete evil-tabs powerline-evil magit iedit evil-leader))))
+    (flymd relative-line-numbers multi-term ac-html web-mode evil-magit linum-relative general fuzzy auto-complete evil-tabs powerline-evil magit iedit evil-leader))))
 
-(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.
- )