Skip to content

Instantly share code, notes, and snippets.

@fimmtiu
Created April 4, 2014 18:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fimmtiu/9980565 to your computer and use it in GitHub Desktop.
Save fimmtiu/9980565 to your computer and use it in GitHub Desktop.
.emacs
;; Fix the annoying Emacs if-indentation.
(put 'if 'lisp-indent-function nil)
(setq ring-bell-function 'ignore)
(defconst user-lisp-dir "~/.emacs.d/lisp/")
(add-to-list 'load-path user-lisp-dir)
(byte-recompile-directory user-lisp-dir t)
(defun move-two-spaces-left ()
(interactive)
(indent-rigidly (region-beginning) (region-end) -2))
(defun move-two-spaces-right ()
(interactive)
(indent-rigidly (region-beginning) (region-end) 2))
(defun convert-ruby-hashes ()
(interactive)
(query-replace-regexp ":\\([[:word:]_]+\\)\\([[:space:]]+\\)=>[[:space:]]+" "\\1:\\2" nil
(if (and transient-mark-mode mark-active) (region-beginning))
(if (and transient-mark-mode mark-active) (region-end))))
(global-set-key (kbd "M-q") 'fill-paragraph)
(global-set-key [(meta backspace)] 'backward-kill-word)
(global-set-key [(meta delete)] 'kill-word)
(global-set-key (kbd "C-z") 'undo)
(global-set-key (kbd "C-h") 'delete-backward-char)
(global-set-key (kbd "C-x h") 'help-command)
(global-set-key (kbd "C-c f") 'auto-fill-mode)
(global-set-key (kbd "C-c c") 'comment-region)
(global-set-key (kbd "C-c v") 'uncomment-region)
(global-set-key (kbd "C-c e") 'eval-region)
(global-set-key (kbd "C-c r") 'revert-buffer)
(global-set-key (kbd "C-c R") 'rename-this-buffer-and-file)
(global-set-key (kbd "C-c h") 'convert-ruby-hashes)
(global-set-key (kbd "C-c <") 'move-two-spaces-left)
(global-set-key (kbd "C-c >") 'move-two-spaces-right)
(global-set-key (kbd "M-l") 'goto-line)
(global-set-key (kbd "M-`") 'other-frame)
(global-set-key [(control tab)] 'other-window)
(global-set-key [button5] 'forward-two)
(global-set-key [button4] 'backward-two)
(fset 'yes-or-no-p 'y-or-n-p)
(setq-default indent-tabs-mode nil)
(setq inhibit-startup-screen t)
(setq history-length t)
(menu-bar-mode t)
(scroll-bar-mode -1)
(defun warn-when-quitting-hook ()
(interactive)
(y-or-n-p "Really quit Emacs? "))
(add-hook 'kill-emacs-query-functions 'warn-when-quitting-hook)
(setq auto-mode-alist
(append '(("\\.\\(rake\\|gemspec\\)$" . ruby-mode)
("\\.ya?ml$" . yaml-mode)
("\\.html\\.erb$" . html-mode)
("\\.js\\.erb$" . javascript-mode)
("\\.\\(scss\\|css\\.erb\\)$" . css-mode)
("\\(Gem\\|Rake\\|Cap\\)file$" . ruby-mode)) auto-mode-alist))
(defalias 'perl-mode 'cperl-mode)
(add-hook 'ruby-mode-hook (lambda () (local-set-key "\r" 'newline-and-indent)))
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)
(when (locate-library "multi-select")
(require 'multi-select)
(multi-select-mode t))
(when (locate-library "yaml-mode")
(require 'yaml-mode)
(add-to-list 'auto-mode-alist '("\\.ya?ml$" . yaml-mode)))
(when (locate-library "clojure-mode")
(require 'clojure-mode)
(add-to-list 'auto-mode-alist '("\\.cljs?$" . clojure-mode))
(load "~/.emacs.d/clojure-tools"))
(when (locate-library "coffee-mode")
(require 'coffee-mode)
(add-to-list 'auto-mode-alist '("\\.coffee$" . coffee-mode)))
(when (locate-library "markdown-mode")
(require 'markdown-mode)
(add-to-list 'auto-mode-alist '("\\.\\(markdown\\|m?md\\)$" . markdown-mode)))
(defun ido-disable-line-trucation ()
(set (make-local-variable 'truncate-lines) nil))
(when (and (locate-library "ido") (locate-library "ido-fuzzy"))
(require 'ido-fuzzy)
(require 'ido-speed-hack))
(when (locate-library "mk-project")
(require 'mk-project)
(global-set-key (kbd "C-c p c") 'project-compile)
(global-set-key (kbd "C-c p l") 'project-load)
(global-set-key (kbd "C-c p a") 'project-ack)
;(global-set-key (kbd "C-c p g") 'project-grep)
;(global-set-key (kbd "C-c p o") 'project-multi-occur)
(global-set-key (kbd "C-c p u") 'project-unload)
(global-set-key (kbd "C-c p f") 'project-find-file-ido) ; or project-find-file
(global-set-key (kbd "C-c p i") 'project-index)
(global-set-key (kbd "C-c p s") 'project-status)
(global-set-key (kbd "C-c p h") 'project-home)
(global-set-key (kbd "C-c p d") 'project-dired)
(global-set-key (kbd "C-c p t") 'project-tags)
(load "~/.emacs.d/projects"))
;; Colourize the compilation buffer to prevent ugly ANSI escape sequences everywhere.
(require 'ansi-color)
(defun colorize-compilation-buffer ()
(toggle-read-only)
(ansi-color-apply-on-region (point-min) (point-max))
(toggle-read-only))
(add-hook 'compilation-filter-hook 'colorize-compilation-buffer)
(setq custom-file "~/.emacs-custom.el")
(load custom-file 'noerror)
(set-default-font "-*-dejavu sans mono-medium-r-*-*-12-*-*-*-*-*-*-*")
(server-start)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment