Created
August 26, 2015 18:00
-
-
Save edw/374aebfcbcd05e30e24d to your computer and use it in GitHub Desktop.
Selected Emacs `init.el`-isms
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
| (setq mac-option-key-is-meta t) | |
| (setq mac-right-option-modifier nil) | |
| (setq ns-function-modifier 'hyper) | |
| (add-to-list 'package-archives | |
| '("melpa" . "http://melpa.milkbox.net/packages/") t) | |
| (add-to-list 'package-archives | |
| '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/") t) | |
| (add-to-list 'package-pinned-packages | |
| '(cider . "melpa-stable") t) | |
| (package-initialize) | |
| (require 'multi-web-mode) | |
| (setq mweb-default-major-mode 'html-mode) | |
| (setq mweb-tags '((js-mode | |
| "\\(<script +\\(type=\"\\{0,1\\}text/javascript\"\\{0,1\\}\\|language=\"\\{0,1\\}javascript\"\\{0,1\\}\\)[^>]*>\\|<script>\\)" "</script>") | |
| (css-mode "<style +type=\"text/css\"[^>]*>" "</style>"))) | |
| (setq mweb-filename-extensions '("htm" "html")) | |
| (multi-web-global-mode 1) | |
| (require 'paredit) | |
| (defun turn-on-paredit () (paredit-mode 1)) | |
| (add-hook 'emacs-lisp-mode-hook 'turn-on-paredit) | |
| (add-hook 'nrepl-mode-hook 'turn-on-paredit) | |
| (add-hook 'lisp-mode-hook 'turn-on-paredit) | |
| (add-hook 'cider-repl-mode-hook 'turn-on-paredit) | |
| (add-hook 'clojure-mode-hook 'turn-on-paredit) | |
| (add-hook 'clojurescript-mode-hook 'turn-on-paredit) | |
| (defun with-rc (start end) | |
| (interactive "rSet env vars for region:") | |
| (mapcar | |
| (lambda (line) | |
| (when (> (length line) 0) | |
| (let* ((pair (split-string line "=")) | |
| (k (car pair)) | |
| (v (shell-command-to-string | |
| (format "echo -n \"%s\"" (cadr pair))))) | |
| (setenv k v)))) | |
| (split-string (buffer-substring-no-properties start end) "\n"))) | |
| (defun pbcopy (start end) | |
| (interactive "rSend region to OS X pasteboard:") | |
| (shell-command-on-region start end "pbcopy")) | |
| ;; Thank you Nathan Weizenbaum for this wonderful suggestion! | |
| ;; http://nex-3.com/posts/45-efficient-window-switching-in-emacs | |
| (defun select-next-window () | |
| "Switch to the next window" | |
| (interactive) | |
| (select-window (next-window))) | |
| (defun select-previous-window () | |
| "Switch to the previous window" | |
| (interactive) | |
| (select-window (previous-window))) | |
| ;; end praise Nathan's window switching. | |
| ;; for tmux/mosh | |
| (define-key paredit-mode-map (kbd "M-[ c") 'paredit-forward-slurp-sexp) | |
| (define-key paredit-mode-map (kbd "M-[ d") 'paredit-forward-barf-sexp) | |
| (define-key paredit-mode-map (kbd "ESC <right>") 'paredit-forward-slurp-sexp) | |
| (define-key paredit-mode-map (kbd "ESC <left>") 'paredit-forward-barf-sexp) | |
| (define-key paredit-mode-map (kbd "S-<left>") 'paredit-backward-slurp-sexp) | |
| (define-key paredit-mode-map (kbd "S-<right>") 'paredit-backward-barf-sexp) | |
| (defun kill-this-buffer () | |
| (interactive) | |
| (kill-buffer (current-buffer))) | |
| (defun smarter-move-beginning-of-line (arg) | |
| "Move point back to indentation of beginning of line. | |
| Move point to the first non-whitespace character on this line. | |
| If point is already there, move to the beginning of the line. | |
| Effectively toggle between the first non-whitespace character and | |
| the beginning of the line. | |
| If ARG is not nil or 1, move forward ARG - 1 lines first. If | |
| point reaches the beginning or end of the buffer, stop there." | |
| (interactive "^p") | |
| (setq arg (or arg 1)) | |
| ;; Move lines first | |
| (when (/= arg 1) | |
| (let ((line-move-visual nil)) | |
| (forward-line (1- arg)))) | |
| (let ((orig-point (point))) | |
| (back-to-indentation) | |
| (when (= orig-point (point)) | |
| (move-beginning-of-line 1)))) | |
| (add-hook 'cider-repl-mode-hook 'subword-mode) | |
| (add-hook 'clojure-mode-hook 'subword-mode) | |
| (add-hook 'cider-mode-hook 'cider-turn-on-eldoc-mode) | |
| (add-hook 'cider-mode-hook 'cider-profile-mode) | |
| (add-hook 'cider-repl-mode-hook 'cider-profile-mode) | |
| (setq ido-create-new-buffer 'always) | |
| (setq ido-ignore-extensions t) | |
| (global-set-key [remap move-beginning-of-line] | |
| 'smarter-move-beginning-of-line) | |
| (global-set-key (kbd "M-`") 'select-next-window) ; More OS X-like | |
| (global-set-key (kbd "M-~") 'select-previous-window) ; Ditto | |
| (global-set-key (kbd "C-x C-j") 'direx:find-directory) | |
| (global-set-key (kbd "C-c r") 'replace-regexp) | |
| (global-set-key (kbd "C-x C-k") 'kill-this-buffer) | |
| (global-set-key [f1] 'ansi-term) | |
| (global-set-key [f8] 'previous-error) | |
| (global-set-key [f9] 'next-error) | |
| (global-set-key [f10] 'magit-status) | |
| (global-set-key (kbd "H-s") 'flx-isearch-forward) | |
| (global-set-key (kbd "H-r") 'flx-isearch-backwards) | |
| (define-key paredit-mode-map (kbd "ESC M-[ c") 'paredit-backward-barf-sexp) | |
| (define-key paredit-mode-map (kbd "ESC M-[ d") 'paredit-backward-slurp-sexp) | |
| ;; end for tmux | |
| (require 'clojure-mode) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment