Last active
July 13, 2018 17:14
-
-
Save sonwh98/be238f4ad06a526cddf9ee1a2fd9d57c to your computer and use it in GitHub Desktop.
emacs init.el for clojure development
This file contains 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
(require 'package) ;; You might already have this line | |
;;instructions at setting up a clojure/clojurescript development environment at http://lambdakids.stigmergy.systems/2018/6/6/hello-world.blog | |
(add-to-list 'package-archives (cons "melpa-stable" "https://stable.melpa.org/packages/") t) | |
(add-to-list 'load-path "~/.emacs.d/lisp") | |
;;download doremi at https://www.emacswiki.org/emacs/DoReMi | |
(load "doremi.el") | |
(load "doremi-cmd.el") | |
(package-initialize) | |
(defvar my-packages '(better-defaults | |
projectile | |
find-file-in-project | |
clojure-mode | |
paredit | |
web-mode | |
aggressive-indent | |
magit | |
cider | |
ac-cider | |
)) | |
(unless (package-installed-p 'ac-cider) | |
(package-list-packages)) | |
(dolist (p my-packages) | |
(unless (package-installed-p p) | |
(package-install p))) | |
(global-set-key (kbd "C-x g") 'magit-status) | |
(delete-selection-mode t) | |
(put 'paredit-forward-delete 'delete-selection 'supersede) | |
(defvar tramp-ssh-controlmaster-options nil) | |
(add-hook 'clojure-mode-hook #'paredit-mode) | |
(add-hook 'clojure-mode-hook #'auto-complete-mode) | |
(add-hook 'clojure-mode-hook #'aggressive-indent-mode) | |
(setq ffip-find-options "-not -iwholename '*/target/*' -not -iwholename '*/compiled/*' -not -iwholename '*/generated/*' ") | |
(eval-after-load 'web-mode | |
'(progn | |
(require 'tagedit) | |
(tagedit-add-paredit-like-keybindings) | |
(add-hook 'html-mode-hook (lambda () (tagedit-mode 1))))) | |
(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.chp\\'" . clojure-mode)) | |
(add-to-list 'auto-mode-alist '("\\.blog\\'" . clojure-mode)) | |
(add-hook 'web-mode-hook #'tagedit-mode) | |
(setq web-mode-enable-current-element-highlight t) | |
;;tmux key mapping for paredit for remote ssh | |
(define-key input-decode-map "\e[1;5A" [C-up]) | |
(define-key input-decode-map "\e[1;5B" [C-down]) | |
(define-key input-decode-map "\e[1;5C" [C-right]) | |
(define-key input-decode-map "\e[1;5D" [C-left]) | |
;;tmux key mapping for paredit for localhost. why are they different? | |
(global-set-key (kbd "M-[ A") [C-up]) | |
(global-set-key (kbd "M-[ B") [C-down]) | |
(global-set-key (kbd "M-[ C") [C-right]) | |
(global-set-key (kbd "M-[ D") [C-left]) | |
;;doremi suggested keybindings https://www.emacswiki.org/emacs/doremi-cmd.el | |
(defalias 'doremi-prefix (make-sparse-keymap)) | |
(defvar doremi-map (symbol-function 'doremi-prefix) | |
"Keymap for Do Re Mi commands.") | |
(define-key global-map "\C-xt" 'doremi-prefix) | |
(define-key doremi-map "b" 'doremi-buffers+) | |
(define-key doremi-map "g" 'doremi-global-marks+) | |
(define-key doremi-map "m" 'doremi-marks+) | |
(define-key doremi-map "r" 'doremi-bookmarks+) ; reading books? | |
(define-key doremi-map "s" 'doremi-custom-themes+) ; custom schemes | |
(define-key doremi-map "w" 'doremi-window-height+) | |
;;https://github.com/clojure-emacs/cider/issues/2284 | |
(setq cljr-inject-dependencies-at-jack-in nil) | |
(load-theme 'wheatgrass t) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment