aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/lisp/init-misc.el
blob: 0e34af467131e96ed8ed31ef3a0fc14637df3f98 (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
(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
  (evil-define-key 'normal projectile-mode-map
    (kbd "<leader>p") 'projectile-command-map
    (kbd "<leader>ff") 'projectile-find-file
    (kbd "<leader>fr") 'projectile-ripgrep)
  (setq projectile-cache-file (expand-file-name ".cache/projectile" user-emacs-directory)
	projectile-require-project-root nil)
  :config
  (projectile-mode 1))

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

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

(provide 'init-misc)