2018-07-16 14:55:09 -06:00

98 lines
2.7 KiB
EmacsLisp

(defun super-emacs-reload-current-file ()
"Reload the file loaded in current buffer from the disk"
(interactive)
(cond (buffer-file-name (progn (find-alternate-file buffer-file-name)
(message "File reloaded")))
(t (message "You're not editing a file!"))))
;Disable splash message, start *scratch* buffer by default
(setq inhibit-startup-screen t
initial-buffer-choice nil)
(setq initial-scratch-message
"")
;Enforce spaces for indentation, instead of tabs
(setq-default indent-tabs-mode
nil)
;Enable show-paren-mode
(show-paren-mode)
;Enable whitespace mode
(global-whitespace-mode)
(setq whitespace-line-column 500)
(add-hook 'before-save-hook 'delete-trailing-whitespace)
;Enable winner-mode
(winner-mode t)
;Enable windmove
(windmove-default-keybindings)
;;keep search highlight
(setq lazy-highlight-cleanup nil)
;turn off bell
(setq ring-bell-function 'ignore)
;;cleanup buffers
(require 'midnight)
;;kill buffers if they were last disabled more than this seconds ago
(setq clean-buffer-list-delay-special 900)
(defvar clean-buffer-list-timer nil
"Stores clean-buffer-list timer if there is one. You can disable clean-buffer-list by (cancel-timer clean-buffer-list-timer).")
;; run clean-buffer-list every 2 hours
(setq clean-buffer-list-timer (run-at-time t 7200 'clean-buffer-list))
;; kill everything, clean-buffer-list is very intelligent at not killing
;; unsaved buffer.
(setq clean-buffer-list-kill-regexps '("^.*$"))
;; keep these buffer untouched
;; prevent append multiple times
(defvar clean-buffer-list-kill-never-buffer-names-init
clean-buffer-list-kill-never-buffer-names
"Init value for clean-buffer-list-kill-never-buffer-names")
(setq clean-buffer-list-kill-never-buffer-names
(append
'("*Messages*" "*cmd*" "*scratch*" "*w3m*" "*w3m-cache*" "*Inferior Octave*")
clean-buffer-list-kill-never-buffer-names-init))
;; prevent append multiple times
(defvar clean-buffer-list-kill-never-regexps-init
clean-buffer-list-kill-never-regexps
"Init value for clean-buffer-list-kill-never-regexps")
;; append to *-init instead of itself
(setq clean-buffer-list-kill-never-regexps
(append '("^\\*EMMS Playlist\\*.*$")
clean-buffer-list-kill-never-regexps-init))
;https://stackoverflow.com/questions/43765/pin-emacs-buffers-to-windows-for-cscope
(defun toggle-window-dedicated ()
"Toggle whether the current active window is dedicated or not"
(interactive)
(message
(if (let (window (get-buffer-window (current-buffer)))
(set-window-dedicated-p window
(not (window-dedicated-p window))))
"Window '%s' is dedicated"
"Window '%s' is normal")
(current-buffer)))
(global-set-key (kbd "<f12>") 'toggle-window-dedicated)