Last active
September 9, 2017 20:45
-
-
Save amirkarimi/4dea4579da99b5507afe32f15c889199 to your computer and use it in GitHub Desktop.
My Emacs Config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; global variables | |
(setq | |
inhibit-startup-screen t | |
create-lockfiles nil | |
make-backup-files nil | |
column-number-mode t | |
scroll-error-top-bottom t | |
show-paren-delay 0.5 | |
use-package-always-ensure t | |
sentence-end-double-space nil | |
ensime-startup-notification nil | |
ensime-startup-snapshot-notification nil) | |
;; buffer local variables | |
(setq-default | |
indent-tabs-mode nil | |
tab-width 4 | |
c-basic-offset 4) | |
;; modes | |
;;(electric-indent-mode 0) | |
(delete-selection-mode 1) | |
(show-paren-mode 1) | |
;; global keybindings | |
(global-unset-key (kbd "C-z")) | |
(global-set-key (kbd "M-[") 'ace-window) | |
(global-set-key (kbd "C-x g") 'magit-status) | |
;; the package manager | |
(require 'package) | |
(setq | |
package-archives '(("gnu" . "http://elpa.gnu.org/packages/") | |
("org" . "http://orgmode.org/elpa/") | |
("melpa" . "http://melpa.org/packages/") | |
("melpa-stable" . "http://stable.melpa.org/packages/"))) | |
(package-initialize) | |
(when (not package-archive-contents) | |
(package-refresh-contents) | |
(package-install 'use-package)) | |
(require 'use-package) | |
(powerline-default-theme) | |
;; Mac | |
(when (memq window-system '(mac ns x)) | |
(setq mac-command-modifier 'control) | |
(setq mac-control-modifier 'super) | |
(exec-path-from-shell-initialize) | |
(global-set-key [home] 'move-beginning-of-line) | |
(global-set-key [end] 'move-end-of-line)) | |
;; Projectile | |
(use-package projectile | |
:demand | |
:init (setq projectile-use-git-grep t) | |
:config (projectile-global-mode t) | |
:bind (("s-f" . projectile-find-file) | |
("s-F" . projectile-grep))) | |
;; Hightlight | |
(use-package highlight-symbol | |
:diminish highlight-symbol-mode | |
:commands highlight-symbol | |
:bind ("s-h" . highlight-symbol)) | |
;; Ensime | |
(use-package ensime | |
:ensure t | |
:pin melpa) | |
;; SBT mode | |
(use-package sbt-mode | |
:pin melpa) | |
;; Scala mode | |
(use-package scala-mode | |
:pin melpa) | |
;; Ido | |
(use-package flx-ido | |
:demand | |
:init | |
(setq | |
ido-enable-flex-matching t | |
;; C-d to open directories | |
;; C-f to revert to find-file | |
ido-show-dot-for-dired nil | |
ido-enable-dot-prefix t) | |
:config | |
(ido-mode 1) | |
(ido-everywhere 1) | |
(ido-vertical-mode 1) | |
(flx-ido-mode 1)) | |
;; imenu | |
(use-package popup-imenu | |
:commands popup-imenu | |
:bind ("M-i" . popup-imenu)) | |
;; Neo Tree | |
(use-package neotree) | |
(use-package all-the-icons) | |
(global-set-key [f8] 'neotree-toggle) | |
(setq neo-theme (if (display-graphic-p) 'icons)) | |
(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-color-names-vector | |
["#3F3F3F" "#CC9393" "#7F9F7F" "#F0DFAF" "#8CD0D3" "#DC8CC3" "#93E0E3" "#DCDCCC"]) | |
'(custom-enabled-themes (quote (monokai))) | |
'(custom-safe-themes | |
(quote | |
("3629b62a41f2e5f84006ff14a2247e679745896b5eaa1d5bcfbc904a3441b0cd" "2f0a552a9d14fe8ddaaacdb7b82a0eee1ea1f7f5d0850789915e5b04a1b9669f" "596a1db81357b93bd1ae17bed428d0021d12f30cda7bbb31ac44e115039171ae" "ff7625ad8aa2615eae96d6b4469fcc7d3d20b2e1ebc63b761a349bebbb9d23cb" "628278136f88aa1a151bb2d6c8a86bf2b7631fbea5f0f76cba2a0079cd910f7d" "67e998c3c23fe24ed0fb92b9de75011b92f35d3e89344157ae0d544d50a63a72" "06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "82d2cac368ccdec2fcc7573f24c3f79654b78bf133096f9b40c20d97ec1d8016" "bb08c73af94ee74453c90422485b29e5643b73b05e8de029a6909af6a3fb3f58" "1b8d67b43ff1723960eb5e0cba512a2c7a2ad544ddb2533a90101fd1852b426e" default))) | |
'(fci-rule-color "#383838") | |
'(flycheck-color-mode-line-face-to-color (quote mode-line-buffer-id)) | |
'(initial-frame-alist (quote ((fullscreen . maximized)))) | |
'(menu-bar-mode nil) | |
'(nrepl-message-colors | |
(quote | |
("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3"))) | |
'(package-selected-packages | |
(quote | |
(monokai-theme ido-vertical-mode helm-projectile popup-imenu darktooth-theme helm dired+ highlight-symbol ztree plantuml-mode dracula-theme yaml-mode ## groovy-mode ace-window list-packages-ext zenburn-theme web-mode use-package scss-mode projectile play-routes-mode neotree markdown-mode magit jedi ensime company-jedi color-theme-sanityinc-tomorrow))) | |
'(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838"))) | |
'(scroll-bar-mode (quote right)) | |
'(tool-bar-mode nil) | |
'(vc-annotate-background "#2B2B2B") | |
'(vc-annotate-color-map | |
(quote | |
((20 . "#BC8383") | |
(40 . "#CC9393") | |
(60 . "#DFAF8F") | |
(80 . "#D0BF8F") | |
(100 . "#E0CF9F") | |
(120 . "#F0DFAF") | |
(140 . "#5F7F5F") | |
(160 . "#7F9F7F") | |
(180 . "#8FB28F") | |
(200 . "#9FC59F") | |
(220 . "#AFD8AF") | |
(240 . "#BFEBBF") | |
(260 . "#93E0E3") | |
(280 . "#6CA0A3") | |
(300 . "#7CB8BB") | |
(320 . "#8CD0D3") | |
(340 . "#94BFF3") | |
(360 . "#DC8CC3")))) | |
'(vc-annotate-very-old-color "#DC8CC3")) | |
(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. | |
) | |
(put 'dired-find-alternate-file 'disabled nil) | |
;; Scripts | |
(defun sort-import-group () | |
"Convert word at point (or selected region) to lower camel case." | |
(interactive) | |
(let* ((bounds (cons (region-beginning) (region-end))) | |
(text (buffer-substring-no-properties (car bounds) (cdr bounds)))) | |
(when bounds | |
(delete-region (car bounds) (cdr bounds)) | |
(let ((splited-sorted (sort | |
(split-string text | |
"," | |
nil | |
" ") | |
'string<))) | |
(insert (mapconcat 'identity | |
splited-sorted | |
", ")))))) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; global variables | |
(setq | |
inhibit-startup-screen t | |
create-lockfiles nil | |
make-backup-files nil | |
column-number-mode t | |
scroll-error-top-bottom t | |
show-paren-delay 0.5 | |
use-package-always-ensure t | |
sentence-end-double-space nil | |
ensime-startup-notification nil) | |
;; buffer local variables | |
(setq-default | |
indent-tabs-mode nil | |
tab-width 4 | |
c-basic-offset 4) | |
;; modes | |
;;(electric-indent-mode 0) | |
(delete-selection-mode 1) | |
;; global keybindings | |
(global-unset-key (kbd "C-z")) | |
(global-set-key (kbd "M-[") 'ace-window) | |
(global-set-key (kbd "C-x g") 'magit-status) | |
;; the package manager | |
(require 'package) | |
(setq | |
package-archives '(("gnu" . "http://elpa.gnu.org/packages/") | |
("org" . "http://orgmode.org/elpa/") | |
("melpa" . "http://melpa.org/packages/") | |
("melpa-stable" . "http://stable.melpa.org/packages/"))) | |
(package-initialize) | |
(when (not package-archive-contents) | |
(package-refresh-contents) | |
(package-install 'use-package)) | |
(require 'use-package) | |
(powerline-default-theme) | |
;; Mac | |
(when (memq window-system '(mac ns x)) | |
(setq mac-command-modifier 'control) | |
(setq mac-control-modifier 'super) | |
(exec-path-from-shell-initialize) | |
(global-set-key [home] 'move-beginning-of-line) | |
(global-set-key [end] 'move-end-of-line)) | |
;; Projectile | |
(use-package projectile | |
:demand | |
:init (setq projectile-use-git-grep t) | |
:config (projectile-global-mode t) | |
:bind (("s-f" . projectile-find-file) | |
("s-F" . projectile-grep))) | |
;; Ido | |
(use-package flx-ido | |
:demand | |
:init | |
(setq | |
ido-enable-flex-matching t | |
;; C-d to open directories | |
;; C-f to revert to find-file | |
ido-show-dot-for-dired nil | |
ido-enable-dot-prefix t) | |
:config | |
(ido-mode 1) | |
(ido-everywhere 1) | |
(flx-ido-mode 1)) | |
;; Hightlight | |
(use-package highlight-symbol | |
:diminish highlight-symbol-mode | |
:commands highlight-symbol | |
:bind ("s-h" . highlight-symbol)) | |
(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-color-names-vector | |
["#3F3F3F" "#CC9393" "#7F9F7F" "#F0DFAF" "#8CD0D3" "#DC8CC3" "#93E0E3" "#DCDCCC"]) | |
'(custom-enabled-themes (quote (dracula))) | |
'(custom-safe-themes | |
(quote | |
("ff7625ad8aa2615eae96d6b4469fcc7d3d20b2e1ebc63b761a349bebbb9d23cb" "628278136f88aa1a151bb2d6c8a86bf2b7631fbea5f0f76cba2a0079cd910f7d" "67e998c3c23fe24ed0fb92b9de75011b92f35d3e89344157ae0d544d50a63a72" "06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "82d2cac368ccdec2fcc7573f24c3f79654b78bf133096f9b40c20d97ec1d8016" "bb08c73af94ee74453c90422485b29e5643b73b05e8de029a6909af6a3fb3f58" "1b8d67b43ff1723960eb5e0cba512a2c7a2ad544ddb2533a90101fd1852b426e" default))) | |
'(fci-rule-color "#383838") | |
'(flycheck-color-mode-line-face-to-color (quote mode-line-buffer-id)) | |
'(initial-frame-alist (quote ((fullscreen . maximized)))) | |
'(menu-bar-mode nil) | |
'(nrepl-message-colors | |
(quote | |
("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3"))) | |
'(package-selected-packages | |
(quote | |
(highlight-symbol ztree plantuml-mode dracula-theme yaml-mode ## groovy-mode ace-window list-packages-ext zenburn-theme web-mode use-package scss-mode projectile play-routes-mode neotree markdown-mode magit jedi ensime company-jedi color-theme-sanityinc-tomorrow))) | |
'(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838"))) | |
'(scroll-bar-mode (quote right)) | |
'(tool-bar-mode nil) | |
'(vc-annotate-background "#2B2B2B") | |
'(vc-annotate-color-map | |
(quote | |
((20 . "#BC8383") | |
(40 . "#CC9393") | |
(60 . "#DFAF8F") | |
(80 . "#D0BF8F") | |
(100 . "#E0CF9F") | |
(120 . "#F0DFAF") | |
(140 . "#5F7F5F") | |
(160 . "#7F9F7F") | |
(180 . "#8FB28F") | |
(200 . "#9FC59F") | |
(220 . "#AFD8AF") | |
(240 . "#BFEBBF") | |
(260 . "#93E0E3") | |
(280 . "#6CA0A3") | |
(300 . "#7CB8BB") | |
(320 . "#8CD0D3") | |
(340 . "#94BFF3") | |
(360 . "#DC8CC3")))) | |
'(vc-annotate-very-old-color "#DC8CC3")) | |
(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. | |
'(default ((t (:inherit nil :stipple nil :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 140 :width normal :foundry "nil" :family "Menlo"))))) | |
(put 'dired-find-alternate-file 'disabled nil) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment