diff options
Diffstat (limited to 'ravi-init-appearance.el')
| -rw-r--r-- | ravi-init-appearance.el | 315 |
1 files changed, 0 insertions, 315 deletions
diff --git a/ravi-init-appearance.el b/ravi-init-appearance.el deleted file mode 100644 index 035dc1d..0000000 --- a/ravi-init-appearance.el +++ /dev/null @@ -1,315 +0,0 @@ -;;; ravi-init-appearance.el --- Emacs appearance - -;; Copyright (C) 2013 - -;; Author: <ravi@nero.lan> -;; Keywords: - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Customization of emacs appearance - -;;; Code: - -;; No splash screen please -(setq inhibit-startup-message t) - -;; Allow pasting selection outside of Emacs -(setq x-select-enable-clipboard t) - -;; Show keystrokes in progress -(setq echo-keystrokes 0.1) - -;; Real emacs knights don't use shift to mark things -(setq shift-select-mode nil) - -;; Enable syntax highlighting for older Emacsen that have it off -(global-font-lock-mode t) -(setq font-lock-maximum-decoration t) - -;; Sounds. -;; Turn off sound. -(setq bell-volume 0) -(setq sound-alist nil) - -(add-to-list 'default-frame-alist '(cursor-color . "#ffb90f") t) - -;; Answering just 'y' or 'n' will do -(defalias 'yes-or-no-p 'y-or-n-p) - -;; Customization of modeline. -(line-number-mode 1) -(column-number-mode 1) -(display-time) - -;; Change the way the buffer name is displayed in the modeline. -(setq-default mode-line-buffer-identification '("%17b")) - -;; Undo/redo window configuration with C-c <left>/<right> -(winner-mode 1) - -;; Never insert tabs -(set-default 'indent-tabs-mode nil) - -;; Show me empty lines after buffer end (replaced, see below) -;(set-default 'indicate-empty-lines t) - -(use-package whitespace - :init - (setq whitespace-style '(face trailing indentation tabs)) - :config - (progn - (global-whitespace-mode 1)) - ; No need for 'ensure: t' since whitespace mode is built in - :diminish global-whitespace-mode - ) - -(use-package ws-butler - :config - (progn - (ws-butler-global-mode 1)) - :diminish ws-butler-mode - :ensure t) - -(diminish 'abbrev-mode) - -;; Handling end of files. -(setq require-final-newline t) -;; Prevent addition of lines at end of file when down arrow is pressed. -(setq next-line-add-newlines nil) - -;; Kill the entire line, please -(setq kill-whole-line t) - -;; Delete hungrily -(use-package hungry-delete - :commands (hungry-delete-forward hungry-delete-backward) - :bind (("C-d" . hungry-delete-forward)) - :init - (progn - (defun jschaf/hungry-delete-backward (n &optional killflag) - "Delete non-vertical whitespace backwards on first key press. -Delete all whitespace on a successive key press." - (interactive "p\nP") - (if (eq last-command 'jschaf/hungry-delete-backward) - (hungry-delete-backward n killflag) - (let ((hungry-delete-chars-to-skip " \t\f\v")) - (hungry-delete-backward n killflag)))) - ;;(define-key global-map [remap backward-delete-char-untabify] 'jschaf/hungry-delete-backward) - (define-key global-map [remap backward-delete-char-untabify] 'hungry-delete-backward) - ) - :ensure t) - -(setq sentence-end-double-space nil) -(defun sacha/unfill-paragraph (&optional region) - "Takes a multi-line paragraph and makes it into a single line of text." - (interactive (progn - (barf-if-buffer-read-only) - (list t))) - (let ((fill-column (point-max))) - (fill-paragraph nil region))) -(bind-key "M-Q" 'sacha/unfill-paragraph) - -;; Easily navigate sillycased words -;(global-subword-mode 1) - -;; Keep cursor away from edges when scrolling up/down -(use-package smooth-scrolling - :ensure t - ) - -;; Enable automatic indentation, if possible -(use-package smart-newline - :commands (smart-newline) - :init - (progn - (bind-key "<return>" 'smart-newline prog-mode-map) - (bind-key "<return>" 'smart-newline emacs-lisp-mode-map)) - :ensure t) - -;; Case toggling: from Oleg Krehel http://oremacs.com/2014/12/25/ode-to-toggle/ -(defun oremacs/char-upcasep (letter) - (eq letter (upcase letter))) - -(defun oremacs/capitalize-word-toggle () - (interactive) - (let ((start - (car - (save-excursion - (backward-word) - (bounds-of-thing-at-point 'symbol))))) - (if start - (save-excursion - (goto-char start) - (funcall - (if (oremacs/char-upcasep (char-after)) - 'downcase-region - 'upcase-region) - start (1+ start))) - (capitalize-word -1)))) -(bind-key "M-c" 'oremacs/capitalize-word-toggle) - -(defun oremacs/upcase-word-toggle () - (interactive) - (let ((bounds (bounds-of-thing-at-point 'symbol)) - beg end - (regionp - (if (eq this-command last-command) - (get this-command 'regionp) - (put this-command 'regionp nil)))) - (cond - ((or (region-active-p) regionp) - (setq beg (region-beginning) - end (region-end)) - (put this-command 'regionp t)) - (bounds - (setq beg (car bounds) - end (cdr bounds))) - (t - (setq beg (point) - end (1+ beg)))) - (save-excursion - (goto-char (1- beg)) - (and (re-search-forward "[A-Za-z]" end t) - (funcall (if (oremacs/char-upcasep (char-before)) - 'downcase-region - 'upcase-region) - beg end))))) -(bind-key "M-l" 'oremacs/upcase-word-toggle) - -;; Zap up to char is more useful than zap-char -(use-package zop-to-char - :bind (("M-z" . zop-up-to-char) - ("M-Z" . zop-to-char)) - :ensure t) - -;; Automatic indentation of yanked text -(dolist (command '(yank yank-pop)) - (eval `(defadvice ,command (after indent-region activate) - (and (not current-prefix-arg) - (member major-mode '(emacs-lisp-mode lisp-mode - clojure-mode scheme-mode - haskell-mode ruby-mode - rspec-mode python-mode - c-mode c++-mode - objc-mode latex-mode - plain-tex-mode)) - (let ((mark-even-if-inactive transient-mark-mode)) - (indent-region (region-beginning) (region-end) nil)))))) - -(use-package comment-dwim-2 - :bind (("M-;" . comment-dwim-2)) - :ensure t) - -;; Keep my navigation simple -(setq line-move-visual nil) - -;; Represent undo-history as an actual tree (visualize with C-x u) -(use-package undo-tree - :init - (setq undo-tree-mode-lighter "") - :config - (progn - (global-undo-tree-mode) - (setq undo-tree-auto-save-history t) - (setq undo-tree-history-directory-alist - `(("." . ,(expand-file-name "undotree/" (ravi/emacs-file "past"))))) - ) - :ensure t - ) - -;; Discover emacs -;; Since discover.el replaces keymaps wholesale for "C-x r" and "M-s", it overrides -;; our additions to them. So we use guide-key for "C-x r" and "M-s". -(use-package discover - :config - (progn - (add-hook 'dired-mode-hook 'discover-turn-on-in-dired) - ) - :disabled t ;; unstable API and hosing user-provided keybindings - :ensure t - ) - -;; Help for prefix key-bindings not in discover-mode -(use-package guide-key - :config - (progn - (setq guide-key/guide-key-sequence '("C-c p" ;; projectile - "C-c d" ;; doxymacs - "C-x 4" ;; other-window - "C-x r" ;; rectangles/registers - "M-s" ;; isearch - "C-x v" ;; version control - "M-g" ;; movement - "C-x 5" ;; frames - "C-x n" ;; narrowing - )) - (when (and (boundp ravi/use-helm-instead-of-ido) ravi/use-helm-instead-of-ido) - (add-to-list 'guide-key/guide-key-sequence "<escape>")) - - (guide-key-mode 1) - - (use-package guide-key-tip - :config - (progn - (setq guide-key-tip/enabled t)) - :ensure t - :disabled t ;; popups don't always go away; need to file a bug report - ) - ) - :diminish guide-key-mode - :ensure t - ) - -(bind-key "C-h a" 'apropos) - -(use-package popwin - :init - (progn - (popwin-mode 1) - (push '("*Pp Eval Output*" :height 15) popwin:special-display-config)) - :ensure t - ) - -(use-package import-popwin - :bind (("M-i" . import-popwin)) - :ensure t - ) - -(use-package ace-window - :bind (("M-o" . ace-window)) - :init - (progn - (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l ?i ?e))) - :ensure t - ) - -(defun ravi/split-window-vertically-and-switch (prefix) - (interactive "P") - (split-window-vertically (if (consp prefix) nil prefix)) - (other-window 1) - (unless (consp prefix) (switch-to-next-buffer))) -(bind-key "C-x 2" 'ravi/split-window-vertically-and-switch) - -(defun ravi/split-window-horizontally-and-switch (prefix) - (interactive "P") - (split-window-horizontally (if (consp prefix) nil prefix)) - (other-window 1) - (unless (consp prefix) (switch-to-next-buffer))) -(bind-key "C-x 3" 'ravi/split-window-horizontally-and-switch) - -(provide 'ravi-init-appearance) -;;; ravi-init-appearance.el ends here |
