This is part of the Emacs Starter Kit.
Things that don’t fit anywhere else.
(when window-system
(setq frame-title-format '(buffer-file-name "%f" ("%b")))
(tooltip-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(blink-cursor-mode -1))
(mouse-wheel-mode t)
(auto-compression-mode t) ;; Transparently open compressed files
(size-indication-mode t) ;; Show file in %
(global-visual-line-mode t) ;; Line wrapping
(recentf-mode t) ;; Save a list of recent files visited.
(setq windmove-wrap-around t)
(define-coding-system-alias 'UTF-8 'utf-8)
(define-coding-system-alias 'UTF8 'utf-8)
(define-coding-system-alias 'utf8 'utf-8)
(prefer-coding-system 'utf-8)
(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(setq make-backup-files nil
auto-save-default nil
auto-save-list-file-name nil
org-agenda-span 14 ;; Org agenda
word-wrap t ;; Line wrapping
x-select-enable-clipboard t ;; The total OS clipboard
require-final-newline t ;; Added empty line in EOF
next-line-add-newlines nil ;; Not to add a new line to the end of the displacement
;; Highlight search resaults
search-highlight t
query-replace-highlight t
visible-bell t
echo-keystrokes 0.1
font-lock-maximum-decoration t
font-lock-verbose nil
inhibit-startup-screen t
inhibit-startup-message t
transient-mark-mode t
delete-by-moving-to-trash t
shift-select-mode nil
truncate-partial-width-windows nil
uniquify-buffer-name-style 'forward
whitespace-style '(trailing lines space-before-tab
indentation space-after-tab
face tabs trailing lines-tail)
ediff-window-setup-function 'ediff-setup-windows-plain
oddmuse-directory (concat dotfiles-dir "oddmuse")
xterm-mouse-mode t
save-place-file (concat dotfiles-dir "places")
redisplay-dont-pause t
ring-bell-function 'ignore
use-dialog-box nil
scroll-margin 10
scroll-step 1
scroll-conservatively 10000
scroll-preserve-screen-position 1
mouse-wheel-follow-mouse 't
mouse-wheel-scroll-amount '(1 ((shift) . 1)))
Set this to whatever browser you use e.g…
(setq browse-url-browser-function 'browse-url-generic browse-url-generic-program "google-chrome")
;; (setq browse-url-browser-function 'browse-url-firefox)
;; (setq browse-url-browser-function 'browse-default-macosx-browser)
;; (setq browse-url-browser-function 'browse-default-windows-browser)
;; (setq browse-url-browser-function 'browse-default-kde)
;; (setq browse-url-browser-function 'browse-default-epiphany)
;; (setq browse-url-browser-function 'browse-default-w3m)
;; (setq browse-url-browser-function 'browse-url-generic
;; browse-url-generic-program "~/src/conkeror/conkeror")
(defun my-setup-indent (n)
;; java/c/c++
(setq-local standard-indent n)
(setq-local c-basic-offset n)
;; web development
(setq-local javascript-indent-level n) ; javascript-mode
(setq-local js-indent-level n) ; js-mode
(setq-local react-indent-level n) ; react-mode
(setq-local js2-basic-offset n) ; js2-mode, in latest js2-mode, it's alias of js-indent-level
(setq-local web-mode-attr-indent-offset n) ; web-mode
(setq-local web-mode-code-indent-offset n) ; web-mode, js code in html file
(setq-local web-mode-css-indent-offset n) ; web-mode, css in html file
(setq-local web-mode-markup-indent-offset n) ; web-mode, html tag in html file
(setq-local web-mode-sql-indent-offset n) ; web-mode
(setq-local web-mode-attr-value-indent-offset n) ; web-mode
(setq-local css-indent-offset n) ; css-mode
;; shell scripts
(setq-local sh-basic-offset n)
(setq-local sh-indentation n))
(defun my-personal-code-style (ident)
(interactive)
(message "My personal code style!")
;; use space instead of tab
(setq whitespace-line-column 120)
(setq indent-tabs-mode nil)
;; indent spaces width
(my-setup-indent ident))
;; Syntax highlighting
(require 'font-lock)
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
If launching Emacs as in windowing system, show the menu. If launching in a tty/terminal window, don’t display the menu.
(if window-system
(menu-bar-mode t)
(menu-bar-mode -1))
(show-paren-mode t) ;; Include the allocation between the expressions {},[],()
(setq show-paren-style 'expression) ;; Highlight expression between {},[],()
ido-mode is like magic pixie dust!
(when (> emacs-major-version 21)
(ido-mode t)
(setq ido-enable-prefix nil
ido-enable-flex-matching t
ido-create-new-buffer 'always
ido-use-filename-at-point nil
ido-max-prospects 10))
;; Dired
(require 'dired)
(setq dired-recursive-deletes 'top) ;; For dired might delete not empty directory
;; Delete selection
(delete-selection-mode t)
(set-default 'indicate-empty-lines t)
(set-default 'imenu-auto-rescan t)
(set-default 'imenu-use-popup-menu nil)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;; (add-hook 'text-mode-hook 'turn-on-flyspell)
(defalias 'yes-or-no-p 'y-or-n-p)
(random t) ;; Seed the random-number generator
Most of the solution came from EmacsWiki-FlySpell.
(delete 'try-expand-line hippie-expand-try-functions-list)
(add-hook 'prog-mode-hook 'coding-hooks)
(defun coding-hooks ()
(require 'rainbow-delimiters)
(local-comment-auto-fill)
(turn-on-hl-line-mode)
(turn-on-save-place-mode)
(turn-on-whitespace)
(ggtags-mode 1)
(autoload 'rainbow-delimiters-mode "rainbow-delimiters")
(global-prettify-symbols-mode +1)
(font-lock-add-keywords
nil '(("\\<\\(FIX\\|TODO\\|FIXME\\|HACK\\|REFACTOR\\)\\:"
1 font-lock-warning-face prepend)))
(add-hook 'before-save-hook 'cleanup-buffer)
(flycheck-custom)
(rainbow-delimiters-mode))
(defun run-coding-hook ()
"Not every programming mode yet inherits from prog-mode (new to
Emacs 24), so this function provides a short-cut for including
those hooks in another mode."
(run-hooks 'prog-mode-hook))
(defun flycheck-custom ()
(require 'flycheck)
(run-hooks 'flycheck)
(flycheck-mode)
(defun flycheck-moder(param)
(interactive)
(flycheck-mode param))
(defun flycheck-disable()
(flycheck-moder nil))
(defun flycheck-enable()
(flycheck-moder t))
(custom-set-variables
'(flycheck-run-in-place nil)
'(flycheck-log-level 0))
(custom-set-variables
'(flycheck-run-in-place nil)
'(flycheck-log-level 0))
(custom-set-faces
'(flycheck-error ((t (:underline "red4"))))
'(flycheck-error-face ((t (:background "brown4"))))
'(flycheck-fringe-error ((t nil)))
'(flycheck-fringe-warning ((t nil)))
'(flycheck-warning ((t (:underline "dark orange"))))
'(flycheck-warning-face ((t (:background "chocolate4"))))
'(flymake-errline ((((class color)) (:underline "red"))))
'(flymake-warnline ((((class color)) (:underline "yellow")))))
(eval-after-load 'flycheck
'(progn
(let ((m flycheck-mode-map))
(define-key m (kbd "C-s-j") 'flycheck-previous-error)
(define-key m (kbd "C-s-k") 'flycheck-next-error))
(add-hook 'flycheck-mode-hook 'flycheck-color-mode-line-mode))))
(message "------ Starter Kit Misc loaded ------")