blob: d4b2f737ff97374b75f9bd801fc77f61bd5ff508 (
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
|
(macro conf [...]
(let [bindings [...]
result []]
(for [i 1 (length bindings) 2]
(let [k (. bindings i)
v (. bindings (+ i 1))]
(table.insert result `(set ,k ,v))))
`(do ,(unpack result))))
(conf vim.g.mapleader " "
vim.g.maplocalleader "\\"
;; disable built-in tree
vim.g.loaded_netrw 1
vim.g.loaded_netrwPlugin 1
;; enable true color
vim.opt.termguicolors true
;; show line numbers
vim.o.number true
;; ensure new line at EOF
vim.opt.endofline true
vim.opt.fixendofline true
;; tab width
vim.opt.tabstop 4
vim.opt.shiftwidth 4
vim.opt.expandtab true
;; disable providers
vim.g.loaded_perl_provider 0
vim.g.loaded_ruby_provider 0)
;; cursorline
(vim.cmd "set cursorline")
;; Show diagnostics
(vim.diagnostic.config {:virtual_text true
:signs true
:underline true
:update_in_insert false})
;; Escape TERMINAL mode using ESC
(vim.api.nvim_set_keymap
"t" "<Esc>" "<C-\\><C-n>" { "desc" "Exit terminal mode" })
;; tab management
(vim.api.nvim_set_keymap
"n" "t" ":tabnew<Enter>" { "desc" "create new tab" })
(vim.api.nvim_set_keymap
"n" "T" ":tabn<Enter>" { "desc" "jump to new tab" })
(vim.api.nvim_set_keymap
"n" "X" ":tabclose<Enter>" { "desc" "close current tab, like Vimium" })
; use custom file type
(require "filetype")
;; Use Paredit
(vim.api.nvim_create_autocmd
"FileType" {"pattern" ["clojure" "fennel" "guile" "scheme" "scheme.guile" "lisp"]
"callback" (lambda [] (vim.treesitter.start))})
;; use lazy.nvim plugin manager
(require "config.lazy")
{:fennel-path "./init.lua"}
|