Skip to content

Instantly share code, notes, and snippets.

@csandeep
Created October 21, 2014 15:57
Show Gist options
  • Save csandeep/efb24c3308d4668eeeb7 to your computer and use it in GitHub Desktop.
Save csandeep/efb24c3308d4668eeeb7 to your computer and use it in GitHub Desktop.
Emacs dot file
(require 'uniquify)
(setq uniquify-buffer-name-style 'forward)
(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-c\C-m" 'execute-extended-command)
(global-set-key "\C-h\C-f" 'cperl-perldoc-at-point)
(global-set-key "\C-l" 'goto-line)
(ido-mode)
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(elpy-enable)
;; turn on font-lock mode
(global-font-lock-mode t)
(set-default-font "-apple-bitstream vera sans mono-medium-r-normal--16-0-0-0-m-0-mac-roman")
;; enable window splitting
(setq split-width-threshold 100)
(add-to-list 'load-path "~/.emacs.d/elisp")
(setq load-path (cons "~/.emacs.d/orgdir/lisp" load-path))
(setq load-path (cons "~/.emacs.d/orgdir/contrib/lisp" load-path))
(setq load-path (cons "~/.emacs.d/elisp/python-mode" load-path))
;;python mode
(require 'python-mode)
(add-to-list 'auto-mode-alist '("\.py\'" . python-mode))
;; turn off menu bar
(menu-bar-mode -1)
(require 'install-elisp)
(setq install-elisp-repository-directory "~/.emacs.d/elisp")
;; show column number mode
(setq column-number-mode t)
;; enable visual feedback on selections
(setq-default transient-mark-mode t)
;; necessary support function for buffer burial
(defun crs-delete-these (delete-these from-this-list)
"Delete DELETE-THESE FROM-THIS-LIST."
(cond
((car delete-these)
(if (member (car delete-these) from-this-list)
(crs-delete-these (cdr delete-these) (delete (car delete-these)
from-this-list))
(crs-delete-these (cdr delete-these) from-this-list)))
(t from-this-list)))
;; this is the list of buffers I never want to see
(defvar crs-hated-buffers
'("KILL" "*Compile-Log*"))
;; might as well use this for both
(setq iswitchb-buffer-ignore (append '("^ " "*Buffer") crs-hated-buffers))
(defun crs-hated-buffers ()
"List of buffers I never want to see, converted from names to buffers."
(delete nil
(append
(mapcar 'get-buffer crs-hated-buffers)
(mapcar (lambda (this-buffer)
(if (string-match "^ " (buffer-name this-buffer))
this-buffer))
(buffer-list)))))
;; I'm sick of switching buffers only to find KILL right in front of me
(defun crs-bury-buffer (&optional n)
(interactive)
(unless n
(setq n 1))
(let ((my-buffer-list (crs-delete-these (crs-hated-buffers)
(buffer-list (selected-frame)))))
(switch-to-buffer
(if (< n 0)
(nth (+ (length my-buffer-list) n)
my-buffer-list)
(bury-buffer)
(nth n my-buffer-list)))))
;;meta-up / meta-down to switch between buffers
(define-key input-decode-map "\e\eOA" [(meta up)])
(define-key input-decode-map "\e\eOB" [(meta down)])
(global-set-key [(meta up)] 'crs-bury-buffer)
(global-set-key [(meta down)] (lambda ()
(interactive)
(crs-bury-buffer -1)))
(setq backup-directory-alist
`((".*" . ,"~/emacs/saved")))
(setq auto-save-file-name-transforms
`((".*" , "~/emacs/saved" t)))
(put 'upcase-region 'disabled nil)
;; Remember recently opened files
;;(require 'recentf)
;;(recentf-mode 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment