50 lines
1.5 KiB
EmacsLisp
50 lines
1.5 KiB
EmacsLisp
;;; custom-defaults-config.el -*- lexical-binding: t; -*-
|
|
|
|
;;; Code:
|
|
(setq load-prefer-newer t
|
|
indent-tabs-mode nil
|
|
global-auto-revert-non-file-buffers t
|
|
dired-auto-revert-buffer t
|
|
dired-dwim-target t
|
|
tab-always-indent 'complete
|
|
completion-cycle-threshold 3
|
|
completions-detailed t
|
|
xref-show-definitions-function #'xref-show-definitions-completing-read
|
|
kill-do-not-save-duplicates t
|
|
auto-window-vscroll nil
|
|
fast-but-imprecise-scrolling t
|
|
scroll-conservatively 101
|
|
scroll-margin 0
|
|
scroll-preserve-screen-position 1)
|
|
|
|
(global-auto-revert-mode +1)
|
|
(delete-selection-mode)
|
|
|
|
;; define a key to define the word at point.
|
|
(keymap-set global-map "M-#" #'dictionary-lookup-definition)
|
|
|
|
;; define key to open recent files
|
|
(keymap-set global-map "C-c r" #'recentf)
|
|
|
|
;; turn on spell checking, if available.
|
|
(with-eval-after-load 'ispell
|
|
(when (executable-find ispell-program-name)
|
|
(add-hook 'text-mode-hook #'flyspell-mode)
|
|
(add-hook 'prog-mode-hook #'flyspell-prog-mode)))
|
|
|
|
;; window movement hydra (TODO)
|
|
(when (require 'hydra nil :noerror)
|
|
(defhydra window (global-map "C-c w")
|
|
"Window movement"
|
|
("u" winner-undo)
|
|
("r" winner-redo)
|
|
("n" windmove-down)
|
|
("p" windmove-up)
|
|
("b" windmove-left)
|
|
("f" windmove-right)))
|
|
|
|
;; Make shebang (#!) file executable when saved
|
|
(add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p)
|
|
|
|
(provide 'custom-defaults-config)
|