blob: 8c93df7287761199414fc2c660ec1459e64a64d2 (
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
|
;;; Code:
;; Backup files
(setq backup-directory-alist `(("." . "~/.emacs_saves")))
(setq backup-by-copying t)
(setq delete-old-versions t
kept-new-versions 6
kept-old-versions 2
version-control t)
;; menu bars
(menu-bar-mode -1)
(toggle-scroll-bar -1)
(tool-bar-mode -1)
(setq mac-shift-modifier 'meta)
;; Default Values
;(setq-default indent-tabs-mode t) ; use spaces only if nil
(setq-default tab-width 4) ; Assuming you want your tabs to be four spaces wide
(set-face-attribute 'default nil :font "Droid Sans Mono-12")
(set-fontset-font t nil "Courier New" nil 'append)
(set-fontset-font t '(?😊 . ?😎) "Segoe UI Emoji")
;;(set-face-attribute 'default nil :height 110 :family "Consolas")
(set-language-environment "UTF-8")
(set-default-coding-systems 'utf-8)
;; Cursor
(setq-default cursor-type 'bar)
(blink-cursor-mode 1)
;; Margin
(global-linum-mode 1)
;;(require 'minimap)
;;(minimap-mode 1)
(setq-default left-fringe-width 10)
(setq-default right-fringe-width 0)
(set-face-attribute 'fringe nil :background "white")
;; Initialization screen
(setq inhibit-splash-screen t)
(setq initial-scratch-message "")
(setq initial-major-mode 'text-mode)
;; Projectile for project navigation
(require 'projectile)
(projectile-mode +1)
(define-key projectile-mode-map (kbd "s-q") 'projectile-command-map)
(define-key projectile-mode-map (kbd "s-f") 'projectile-grep)
(define-key projectile-mode-map [?\s-t] 'projectile-switch-project)
(define-key projectile-mode-map [?\s-p] 'projectile-find-file)
;; Ido mode text matching
(require 'ivy)
(ivy-mode 1)
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
;; Tree
(require 'neotree)
(global-set-key (kbd "C-;") 'neotree-toggle)
(setq neo-smart-open t)
;;(setq projectile-switch-project-action 'neotree-projectile-action)
(setq neo-theme (if (display-graphic-p) 'icons 'arrow))
(evil-define-key 'normal neotree-mode-map (kbd "TAB") 'neotree-enter)
(evil-define-key 'normal neotree-mode-map (kbd "SPC") 'neotree-quick-look)
(evil-define-key 'normal neotree-mode-map (kbd "q") 'neotree-hide)
(evil-define-key 'normal neotree-mode-map (kbd "RET") 'neotree-enter)
(evil-define-key 'normal neotree-mode-map (kbd "g") 'neotree-refresh)
(evil-define-key 'normal neotree-mode-map (kbd "n") 'neotree-next-line)
(evil-define-key 'normal neotree-mode-map (kbd "p") 'neotree-previous-line)
(evil-define-key 'normal neotree-mode-map (kbd "A") 'neotree-stretch-toggle)
(evil-define-key 'normal neotree-mode-map (kbd "H") 'neotree-hidden-file-toggle)
;; Smooth scroll
(setq redisplay-dont-pause t
scroll-margin 7
scroll-step 3
scroll-conservatively 10000
scroll-preserve-screen-position 1)
;; Line highlighting
(global-hl-line-mode 1)
(set-face-background 'hl-line "gray97")
;; Show flycheck always and after save
(use-package flycheck :ensure t)
(global-flycheck-mode)
(add-hook 'after-init-hook #'global-flycheck-mode)
;; Emojis
(use-package emojify
:config
(when (member "Segoe UI Emoji" (font-family-list))
(set-fontset-font
t 'symbol (font-spec :family "Segoe UI Emoji") nil 'prepend))
(setq emojify-display-style 'unicode)
(setq emojify-emoji-styles '(unicode))
(bind-key* (kbd "C-c e") #'emojify-insert-emoji)) ; override binding in any mode
;; Company mode for code completion
(use-package company
:ensure t
:defer t
:init (add-hook 'after-init-hook 'global-company-mode)
:config
(use-package company-irony :ensure t :defer t)
(setq company-idle-delay 0
company-minimum-prefix-length 2
company-show-numbers t
company-tooltip-limit 20
company-dabbrev-downcase nil
company-backends '((company-irony company-gtags))
company-vscode-light-icons-margin 1
)
)
(provide 'general)
;;; general.el ends here
|