(setq tab-always-indent 'complete completion-cycle-threshold t) (setq scroll-conservatively most-positive-fixnum) (when (version<= "26.0.50" emacs-version) (global-display-line-numbers-mode)) (setq vc-follow-symlinks t) (setq find-file-visit-truename t) ;; Disable evil operation writes clipboard (setq x-select-enable-clipboard nil) (setq backup-by-copying t delete-old-versions t kept-new-versions 10 kept-old-versions 2 version-control t backup-directory-alist `(("." . ,(concat user-emacs-directory "backups")))) (setq auto-save-file-name-transforms `((".*" "~/.emacs.d/backups/" t))) (setq-default fill-column 72) (menu-bar-mode -1) (xterm-mouse-mode 1) ;; Enable mouse (tool-bar-mode -1) (toggle-scroll-bar -1) (global-auto-revert-mode t) (global-so-long-mode 1) (add-hook 'after-init-hook #'global-hl-line-mode) (add-hook 'prog-mode-hook #'hs-minor-mode) ;; allow folding (fset 'yes-or-no-p 'y-or-n-p) (use-package paren :ensure nil :init (add-hook 'after-init-hook #'show-paren-mode) :config (setq show-paren-when-point-inside-paren t show-paren-when-point-in-periphery t)) (use-package atom-one-dark-theme :ensure t :config (load-theme 'atom-one-dark t)) (set-face-attribute 'default nil :height 130) (use-package which-key :ensure t :config (which-key-mode)) (use-package undo-tree :config (global-undo-tree-mode)) (use-package recentf :ensure nil :init (add-hook 'after-init-hook 'recentf-mode) :config (setq-default recentf-max-saved-items 1024 recentf-exclude `("/tmp/"))) (use-package counsel :after evil :init (evil-define-key 'normal ivy-mode-map (kbd "fb") 'ivy-switch-buffer (kbd "fm") 'counsel-recentf (kbd "fc") 'counsel-M-x (kbd "fl") 'swiper) (global-set-key (kbd "C-c C-r") 'ivy-resume) :config (ivy-mode 1) (setq ivy-use-virtual-buffers t) (setq ivy-count-format "(%d/%d) ") (setq ivy-re-builders-alist '((read-file-name-internal . ivy--regex-fuzzy) (t . ivy--regex-plus)))) (use-package exec-path-from-shell :if (memq window-system '(mac ns)) :ensure t :config (setq exec-path-from-shell-arguments '("-l")) (exec-path-from-shell-initialize)) (use-package avy :ensure t) (use-package company :init (setq company-global-modes '(emacs-lisp-mode go-mode ledger-mode sh-mode c++-mode)) :hook ((after-init . global-company-mode)) :config (setq company-minimum-prefix-length 1 company-idle-delay (lambda () (if (company-in-string-or-comment) nil 0.3)))) (use-package projectile :init (setq projectile-cache-file (expand-file-name ".cache/projectile" user-emacs-directory) projectile-require-project-root nil) :config (projectile-mode 1)) (with-eval-after-load 'evil (evil-define-key 'normal projectile-mode-map (kbd "p") 'projectile-command-map (kbd "ff") 'projectile-find-file (kbd "fr") 'projectile-ripgrep)) (use-package rg :ensure t :commands (rg rg-menu)) (use-package esup :ensure t :defer t :commands (esup)) (provide 'init-misc)