diff options
author | Jakob Odersky <jakob@odersky.com> | 2017-01-21 22:06:47 -0800 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2017-01-21 22:06:47 -0800 |
commit | 3987431b132b2db51fb0bacca52d8740575ae40d (patch) | |
tree | 290b6d1e6a6c675af1897e972ca7013c9a92ad18 | |
parent | 0211fba127318b46b197719056aa68bf1149e7a1 (diff) | |
download | dotfiles-3987431b132b2db51fb0bacca52d8740575ae40d.tar.gz dotfiles-3987431b132b2db51fb0bacca52d8740575ae40d.tar.bz2 dotfiles-3987431b132b2db51fb0bacca52d8740575ae40d.zip |
consolidate emacs config
-rw-r--r-- | home/.emacs.d/config/01-packages.el | 14 | ||||
-rw-r--r-- | home/.emacs.d/config/lang.el | 71 | ||||
-rw-r--r-- | home/.emacs.d/config/navigation.el | 78 | ||||
-rw-r--r-- | home/.emacs.d/config/spotify.el | 8 | ||||
-rw-r--r-- | home/.emacs.d/config/theme.el | 6 | ||||
-rw-r--r-- | home/.emacs.d/init.el | 184 |
6 files changed, 174 insertions, 187 deletions
diff --git a/home/.emacs.d/config/01-packages.el b/home/.emacs.d/config/01-packages.el deleted file mode 100644 index 73ee401..0000000 --- a/home/.emacs.d/config/01-packages.el +++ /dev/null @@ -1,14 +0,0 @@ -(require 'package) -(add-to-list 'package-archives - '("melpa" . "https://melpa.org/packages/")) -(package-initialize) - -(when (not package-archive-contents) - (package-refresh-contents)) - -(unless (package-installed-p 'use-package) - (package-install 'use-package)) - -(require 'use-package) -(setq use-package-verbose t) -(setq use-package-always-ensure t) diff --git a/home/.emacs.d/config/lang.el b/home/.emacs.d/config/lang.el deleted file mode 100644 index 96319ad..0000000 --- a/home/.emacs.d/config/lang.el +++ /dev/null @@ -1,71 +0,0 @@ -;;;; Settings for editing various text files and programing languages - -;;; General text-editing - -;; Markdown -(use-package markdown-mode - :mode - ("\\.markdown\\'" "\\.md\\'") - :config - (setq markdown-command "/usr/bin/pandoc")) - -;; YML -(use-package yaml-mode - :mode ("\\.yml\\'" "\\.yaml\\'")) - -;; Completion -(use-package company - :diminish company-mode) - -;; Snippets -(use-package yasnippet - :diminish yas-minor-mode) - -;;; C -(setq c-default-style "linux") - -;;; Scala -(use-package scala-mode - :interpreter - ("scala" . scala-mode) - :config - (add-hook 'scala-mode-hook - (lambda () - (local-set-key (kbd "RET") '(lambda () - (interactive) - (newline-and-indent) - (scala-indent:insert-asterisk-on-multiline-comment))) - (setq fill-column 100) - (ensime-mode))) - :bind (:map scala-mode-map - ("C-<tab>" . dabbrev-expand) - ("<backtab>" . scala-indent:indent-with-reluctant-strategy))) - -;; ENhanced Scala Interaction Mode for text Editors -(use-package ensime - :pin melpa - :commands ensime ensime-mode - :init - :config - (setq ensime-startup-notification nil - ensime-startup-snapshot-notification nil)) - -;;; Java -(add-hook 'java-mode-hook (lambda () - (setq c-basic-offset 4))) - -;;; Web development -;; Different modes in html files -(use-package web-mode - :mode "\\.html?\\'") - -;; Javascript -(use-package js3-mode - :mode "\\.js\\'") - -;;; Haskell -(use-package haskell-mode) - -;;; Docker -(use-package dockerfile-mode - :mode "\\Dockerfile\\'") diff --git a/home/.emacs.d/config/navigation.el b/home/.emacs.d/config/navigation.el deleted file mode 100644 index 80589b4..0000000 --- a/home/.emacs.d/config/navigation.el +++ /dev/null @@ -1,78 +0,0 @@ -(global-set-key (kbd "<mouse-8>") 'previous-buffer) -(global-set-key (kbd "<mouse-9>") 'next-buffer) - -(use-package helm - :config - (progn ; progn since order is important here - (setq helm-candidate-number-limit 100 - helm-quick-update t - helm-M-x-requires-pattern nil - helm-M-x-fuzzy-match t - helm-buffers-fuzzy-matching t - helm-recentf-fuzzy-match t - helm-ff-file-name-history-use-recentf t)) - :bind (("C-h a" . helm-apropos) - ("C-x b" . helm-buffers-list) - ("C-x C-f" . helm-find-files) - ("M-y" . helm-show-kill-ring) - ("M-x" . helm-M-x) - :map helm-map - ("<tab>" . helm-execute-persistent-action) - ("C-i" . helm-execute-persistent-action) ; make TAB works in terminal - ("C-z" . helm-select-action)) - - :diminish helm-mode) - -(use-package helm-descbinds - :bind ("C-h b" . helm-descbinds)) - -(use-package helm-swoop - :config (setq helm-swoop-pre-input-function - (lambda () "")) - :bind ("C-s" . helm-swoop)) - -(use-package helm-projectile - :config - (helm-projectile-on) - :bind (("C-x p" . helm-projectile) - ("C-x P" . helm-projectile-grep))) - -(use-package goto-chg - :commands goto-last-change - :bind (("C-." . goto-last-change) - ("C-," . goto-last-change-reverse))) - -(use-package popup-imenu - :commands popup-imenu - :bind ("M-i" . popup-imenu)) - -(use-package projectile - :defer t ; loading is ensured by helm-projectile - :init - (setq projectile-use-git-grep t) - :config - (projectile-global-mode t) - :diminish projectile-mode) - -(use-package magit - :bind ("C-x g" . magit-status)) - -(use-package zoom-frm - :bind (("C-+" . zoom-all-frames-in) - ("C--" . zoom-all-frames-out) - ("C-0" . zoom-frm-unzoom))) - -(defun unfill-paragraph (&optional region) - ;; http://www.emacswiki.org/emacs/UnfillParagraph - "Transforms a paragraph in REGION into a single line of text." - (interactive) - (let ((fill-column (point-max))) - (fill-paragraph nil region))) -(define-key global-map "\M-Q" 'unfill-paragraph) - -(defun revert-buffer-no-confirm () - ;; http://www.emacswiki.org/emacs-en/download/misc-cmds.el - "Revert buffer without confirmation." - (interactive) - (revert-buffer t t)) -(global-set-key [f5] 'revert-buffer-no-confirm) diff --git a/home/.emacs.d/config/spotify.el b/home/.emacs.d/config/spotify.el deleted file mode 100644 index 53fa0b8..0000000 --- a/home/.emacs.d/config/spotify.el +++ /dev/null @@ -1,8 +0,0 @@ -(use-package spotify - :config - (advice-add 'spotify-previous :after #'spotify-current) ; print current song - (advice-add 'spotify-next :after #'spotify-current) ; print current song - :bind - (("M-s SPC" . spotify-playpause) - ("M-s p" . spotify-previous) - ("M-s n" . spotify-next))) diff --git a/home/.emacs.d/config/theme.el b/home/.emacs.d/config/theme.el deleted file mode 100644 index df67d4d..0000000 --- a/home/.emacs.d/config/theme.el +++ /dev/null @@ -1,6 +0,0 @@ -(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/monokai-emacs") -(load-theme 'monokai t) -;(when (display-graphic-p) -; (progn -; (add-to-list 'custom-theme-load-path "~/.emacs.d/themes/monokai-emacs") -; (load-theme 'monokai t))) diff --git a/home/.emacs.d/init.el b/home/.emacs.d/init.el index d5d8652..7c76347 100644 --- a/home/.emacs.d/init.el +++ b/home/.emacs.d/init.el @@ -1,4 +1,4 @@ -;;; General configuration +;;; General editor configuration ;; clean up interface (menu-bar-mode -1) @@ -29,22 +29,186 @@ ;; kill the current buffer immediately (only ask if buffer modified) (global-set-key (kbd "C-x k") 'kill-this-buffer) -;; default window size -(when window-system (set-frame-size (selected-frame) 160 60)) - ;; set title of frame to current buffer (setq frame-title-format '(buffer-file-name "%f" "%b")) ;; Highlight corresponding parentheses when cursor is on one (show-paren-mode t) +;; Show directories first (setq dired-listing-switches "-alh --group-directories-first") -;; Highlight tabulations -;(setq-default highlight-tabs t) +;;; Enable use-package + +(require 'package) +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/")) +(package-initialize) + +(when (not package-archive-contents) + (package-refresh-contents)) + +(unless (package-installed-p 'use-package) + (package-install 'use-package)) + +(require 'use-package) +(setq use-package-verbose t) +(setq use-package-always-ensure t) + +;;; Specialized packages + +(use-package helm + :config + (progn ; progn since order is important here + (setq helm-candidate-number-limit 100 + helm-quick-update t + helm-M-x-requires-pattern nil + helm-M-x-fuzzy-match t + helm-buffers-fuzzy-matching t + helm-recentf-fuzzy-match t + helm-ff-file-name-history-use-recentf t)) + :bind (("C-h a" . helm-apropos) + ("C-x b" . helm-buffers-list) + ("C-x C-f" . helm-find-files) + ("M-y" . helm-show-kill-ring) + ("M-x" . helm-M-x) + :map helm-map + ("<tab>" . helm-execute-persistent-action) + ("C-i" . helm-execute-persistent-action) ; make TAB works in terminal + ("C-z" . helm-select-action)) + :diminish helm-mode) + +(use-package helm-descbinds + :bind ("C-h b" . helm-descbinds)) + +(use-package helm-swoop + :config (setq helm-swoop-pre-input-function + (lambda () "")) + :bind ("C-s" . helm-swoop)) + +(use-package helm-projectile + :config + (helm-projectile-on) + :bind (("C-x p" . helm-projectile) + ("C-x P" . helm-projectile-grep))) + +(use-package goto-chg + :commands goto-last-change + :bind (("C-." . goto-last-change) + ("C-," . goto-last-change-reverse))) + +(use-package popup-imenu + :commands popup-imenu + :bind ("M-i" . popup-imenu)) + +(use-package projectile + :defer t ; loading is ensured by helm-projectile + :init + (setq projectile-use-git-grep t) + :config + (projectile-global-mode t) + :diminish projectile-mode) + +(use-package magit + :bind ("C-x g" . magit-status)) + +(use-package zoom-frm + :bind (("C-+" . zoom-all-frames-in) + ("C--" . zoom-all-frames-out) + ("C-0" . zoom-frm-unzoom))) + +(use-package expand-region + :commands 'er/expand-region + :bind ("C-=" . er/expand-region)) + +(defun unfill-paragraph (&optional region) + ;; http://www.emacswiki.org/emacs/UnfillParagraph + "Transforms a paragraph in REGION into a single line of text." + (interactive) + (let ((fill-column (point-max))) + (fill-paragraph nil region))) +(define-key global-map "\M-Q" 'unfill-paragraph) + +(defun revert-buffer-no-confirm () + ;; http://www.emacswiki.org/emacs-en/download/misc-cmds.el + "Revert buffer without confirmation." + (interactive) + (revert-buffer t t)) +(global-set-key [f5] 'revert-buffer-no-confirm) + +;; Markdown +(use-package markdown-mode + :mode + ("\\.markdown\\'" "\\.md\\'") + :config + (setq markdown-command "/usr/bin/pandoc")) + +;; YML +(use-package yaml-mode + :mode ("\\.yml\\'" "\\.yaml\\'")) + +;; Completion +(use-package company + :diminish company-mode) + +;; Snippets +(use-package yasnippet + :diminish yas-minor-mode) + +;; C +(setq c-default-style "linux") + +;; Scala +(use-package scala-mode + :interpreter ("scala" . scala-mode) + :config + (require 'ensime-expand-region) + (add-hook 'scala-mode-hook + (lambda () + (local-set-key (kbd "RET") + '(lambda () + (interactive) + (newline-and-indent) + (scala-indent:insert-asterisk-on-multiline-comment))) + (setq fill-column 80) + (ensime-mode))) + :bind (:map scala-mode-map + ("C-<tab>" . dabbrev-expand) + ("<backtab>" . scala-indent:indent-with-reluctant-strategy))) + +;; ENhanced Scala Interaction Mode for text Editors +(use-package ensime + :pin melpa ;; pining to melpa uses cutting-edge snapshot version + :commands ensime ensime-mode + :init + :config + (setq ensime-startup-notification nil + ensime-startup-snapshot-notification nil)) + +;; Java +(add-hook 'java-mode-hook (lambda () + (setq c-basic-offset 4))) + +;; Web development +;; Different modes in html files +(use-package web-mode + :mode "\\.html?\\'") + +;; Javascript +(use-package js3-mode + :mode "\\.js\\'") + +;; Haskell +(use-package haskell-mode) + +;; Docker +(use-package dockerfile-mode + :mode "\\Dockerfile\\'") -;; Show trailing white spaces -;(setq-default show-trailing-whitespace t) +(use-package spotify + :bind (("M-s SPC" . spotify-playpause) + ("M-s p" . spotify-previous) + ("M-s n" . spotify-next))) -;;; Other configuration -(mapc 'load (file-expand-wildcards "~/.emacs.d/config/*.el")) +(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/monokai-emacs") +(load-theme 'monokai t) |