aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/lisp/init-misc.el
blob: 35e97560e0b5efafdc82df68b4432774395e39c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
(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 "<leader>fb") 'ivy-switch-buffer
    (kbd "<leader>fm") 'counsel-recentf
    (kbd "<leader>fc") 'counsel-M-x
    (kbd "<leader>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 "<leader>p") 'projectile-command-map
    (kbd "<leader>ff") 'projectile-find-file
    (kbd "<leader>fr") 'projectile-ripgrep))

(use-package rg
  :ensure t
  :commands (rg rg-menu))

(use-package esup
  :ensure t
  :defer t
  :commands (esup))

(provide 'init-misc)