neovim configuration using rocks.nvim plugin manager
1vim.env.LANG = "en_US.UTF-8"
2
3vim.o.foldexpr = "v:lua.vim.treesitter.foldexpr()"
4vim.o.clipboard = "unnamedplus"
5vim.o.cmdheight = 1
6-- due to stevearc/quicker.nvim#21 issue
7vim.o.cmdwinheight = 8
8vim.o.colorcolumn = "80"
9vim.o.completeopt = "menu,menuone,popup"
10vim.opt.completeopt:append("fuzzy")
11vim.o.conceallevel = 0
12vim.o.confirm = true
13vim.o.cursorline = true
14vim.o.expandtab = true
15vim.o.exrc = true
16-- stylua: ignore
17vim.opt.fillchars = {
18 foldopen = "v",
19 foldclose = ">",
20 fold = " ",
21 foldsep = " ",
22
23 diff = "╱",
24 eob = "~",
25
26 horiz = ' ', -- '▁',
27 -- horiz = '▁',
28 horizup = '│',
29 horizdown = ' ', -- '▁',
30 -- horizdown = '▁',
31 vert = '│',
32 vertleft = '│',
33 vertright = '│',
34 verthoriz = '│',
35}
36vim.o.foldcolumn = "0"
37vim.o.foldenable = true
38vim.o.foldlevel = 99
39vim.o.foldlevelstart = 99
40vim.o.foldmethod = "expr"
41vim.o.foldexpr = "v:lua.vim.treesitter.foldexpr()"
42vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
43vim.o.formatoptions = "jcrqlnt"
44if vim.fn.executable("rg") ~= 0 then
45 vim.o.grepprg = "rg --vimgrep"
46end
47vim.o.inccommand = "split"
48vim.o.ignorecase = true
49vim.o.laststatus = 2
50vim.o.list = true
51vim.opt.listchars = {
52 -- eol = "¬",
53 tab = "▏ ",
54 trail = "·", -- Dot Operator (U+22C5)
55 extends = "»", -- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB, UTF-8: C2 BB)
56 precedes = "«", -- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00AB, UTF-8: C2 AB)
57}
58vim.o.mouse = "nv"
59vim.o.number = true
60vim.o.pumblend = 0
61vim.o.pumheight = 10
62vim.o.relativenumber = true
63vim.o.scrolloff = 5
64vim.opt.sessionoptions = { "buffers", "curdir", "folds", "help", "tabpages", "winsize" }
65vim.o.shiftround = true
66vim.o.shiftwidth = 0
67vim.opt.shortmess:append({
68 W = true, -- Don't print "written" when editing
69 I = false, -- No splash screen
70 c = true, -- Don't show ins-completion-menu messages (match 1 of 2)
71 C = true, -- Don't show messages while scannign ins-completion items (scanning tags)
72 s = true, -- Don't show "Search hit BOTTOM" message
73})
74-- vim.o.showbreak = "↳ "
75vim.o.showmode = true
76vim.o.sidescrolloff = 6
77vim.o.signcolumn = "yes"
78vim.o.smartcase = true
79vim.o.smartindent = true
80vim.o.spelllang = "en,cjk"
81vim.o.splitkeep = "cursor"
82vim.o.splitbelow = true
83vim.o.splitright = true
84vim.o.tabstop = 4
85vim.o.termguicolors = true
86vim.o.timeoutlen = 500
87vim.o.undofile = true
88vim.o.undolevels = 10000
89vim.o.updatetime = 200
90-- vim.o.winbar = [[%f %h%w%m%r%=%-14.(%l,%c%V%) %P]]
91vim.o.winminwidth = 10
92vim.o.wrap = false
93
94vim.g.editorconfig = true
95
96-- disable providers (see :h provider)
97vim.g.loaded_python3_provider = 0
98vim.g.loaded_ruby_provider = 0
99vim.g.loaded_node_provider = 0
100vim.g.loaded_perl_provider = 0
101
102if vim.g.neovide then
103 vim.o.guifont = "Fira Code:h16"
104 vim.g.neovide_profiler = true
105end
106
107-- Fix markdown indentation settings
108vim.g.markdown_recommended_style = 0