blob: c5cefe1ce193bc8ce06f005b00b1e98360f9fbc0 (
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
|
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
(load-theme 'naysayer t)
;; window
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
(add-to-list 'default-frame-alist '(ns-appearance . dark))
(add-to-list 'default-frame-alist '(fullscreen . maximized))
(tool-bar-mode -1)
(scroll-bar-mode -1)
(menu-bar-mode -1)
;; Prevent Extraneous Tabs
(setq-default tab-width 4)
(defvaralias 'c-basic-offset 'tab-width)
;; Font
(set-frame-font "JetBrains Mono 14" nil t)
;; Relative Line Numbers
(display-line-numbers-mode)
(setq-default display-line-numbers 'relative)
;; Set up package.el to work with MELPA
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(unless package-archive-contents
(package-refresh-contents))
;; (unless (package-installed-p 'acme-theme)
;; (package-install 'acme-theme))
;;
;; (use-package acme-theme
;; :config
;; (load-theme 'acme t))
;; Download Evil
(unless (package-installed-p 'evil)
(package-install 'evil))
;; Enable Evil
(use-package evil
:init ;; tweak evil's configuration before loading it
(setq evil-want-C-u-scroll t
evil-want-keybinding nil
evil-vsplit-window-right t
evil-split-window-below t)
(evil-mode))
(evil-set-leader 'normal (kbd "SPC"))
(define-key evil-normal-state-map (kbd "<leader>w") 'save-buffer)
(define-key evil-normal-state-map (kbd "<leader>%") 'split-window-right)
(define-key evil-normal-state-map (kbd "<leader>\"") 'split-window-below)
(define-key evil-normal-state-map (kbd "<leader>t") 'ansi-term)
(define-key evil-normal-state-map (kbd "C-l") 'windmove-right)
(define-key evil-normal-state-map (kbd "C-h") 'windmove-left)
(define-key evil-normal-state-map (kbd "C-j") 'windmove-down)
(define-key evil-normal-state-map (kbd "C-k") 'windmove-up)
;; Download Treesitter
(unless (package-installed-p 'tree-sitter)
(package-install 'tree-sitter))
(unless (package-installed-p 'tree-sitter-langs)
(package-install 'tree-sitter-langs))
;; Treesitter
(require 'tree-sitter)
(require 'tree-sitter-langs)
(global-tree-sitter-mode)
;;(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)
;; Download LSP-Mode
(unless (package-installed-p 'lsp-mode)
(package-install 'lsp-mode))
;; Setup LSP-Mode
(require 'lsp-mode)
(add-hook 'c-mode-hook #'lsp)
(add-hook 'c++-mode-hook #'lsp)
(add-hook 'elisp-mode-hook #'lsp)
;; Company-Mode for LSP-Mode
(unless (package-installed-p 'company)
(package-install 'company))
;; Setup LSP-Mode
;;(require 'company)
;;(setq company-minimum-prefix-length 1
;; company-idle-delay 0.0) ;; default is 0.2
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages
'(acme-theme base16-theme company evil lsp-mode tree-sitter-langs)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
|