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
127
128
129
130
131
132
133
|
local opt = vim.opt
local g = vim.g
-- Allgemeine Einstellungen
opt.number = true
opt.cursorline = true
opt.shortmess:append("I")
opt.wrap = false
opt.wildmenu = true
opt.splitright = true
opt.splitbelow = true
opt.signcolumn = "yes"
opt.termguicolors = true
opt.showcmd = false
-- Rechtschreibprüfung
opt.spelllang = { "de", "en" }
opt.spell = true
-- Die notwendigen Dateien müssen erst noch geladen werden!
-- TODO: Automatisierenss
--[[
mkdir -p "$HOME/.local/share/nvim/site/spell"
cd "$HOME/.local/share/nvim/site/spell"
wget "https://ftp.nluug.nl/pub/vim/runtime/spell/de.utf-8.spl"
wget "https://ftp.nluug.nl/pub/vim/runtime/spell/de.utf-8.sug"
]]--
-- Optionen für ^n-Vervollständigung
opt.complete = { ".", "w", "b", "u", "t", "i" }
-- bessere Suche
opt.hlsearch = true
opt.incsearch = true
opt.ignorecase = true
opt.smartcase = true
-- Sonderzeichen anzeigen
opt.list = true
opt.listchars = {
tab = "> ",
trail = "-",
extends = ">",
precedes = "<",
nbsp = "+"
}
opt.matchpairs:append("<:>")
-- automatisches Einlesen geänderter Dateien
opt.autoread = true
-- Suche rekursiv
opt.path:append("**")
-- Tabs
opt.expandtab = false
opt.tabstop = 4
opt.shiftwidth = 4
opt.softtabstop = 0
-- Einrückungen
opt.smartindent = true
opt.autoindent = true
opt.cindent = true
-- Faltungen
opt.foldlevel = 1000
opt.foldcolumn = "0"
-- Autovervollständigung
opt.completeopt = { "longest", "menuone", "noselect", "popup" }
-- externe Programme
opt.makeprg = "gmake"
opt.autowrite = true
-- Guifont
opt.guifont = "JetBrains Mono Semibold:h12"
-- Provider
--[[
$ python3 -m venv ~/.local/venv/nvim
$ ~/.local/venv/nvim/bin/python -m pip install pynvim
--]]
g.python3_host_prog = vim.fn.expand("~/.local/venv/nvim/bin/python")
-- Provider deaktivieren
g.loaded_node_provider = 0
g.loaded_ruby_provider = 0
g.loaded_perl_provider = 0
g.loaded_luarocks_provider = 0
-- Swap files und Undo
opt.swapfile = false
opt.undofile = true
opt.undolevels = 10000
opt.undoreload = 10000
-- Statusline
opt.laststatus = 2
opt.statusline = "%!v:lua.require('config.statusline').statusline()"
-- Clipboard
opt.clipboard = "unnamedplus"
-- netrw deaktivieren
g.loaded_netrw = 1
g.loaded_netrwPlugin = 1
g.mapleader = ","
g.maplocalleader = "\\"
vim.diagnostic.config({
virtual_text = true,
signs = true,
underline = true,
update_in_insert = false,
severity_sort = true,
float = { border = "rounded" },
})
vim.lsp.util.open_floating_preview = (function(orig)
return function(contents, syntax, opts, ...)
opts = opts or {}
opts.border = opts.border or "rounded"
return orig(contents, syntax, opts, ...)
end
end)(vim.lsp.util.open_floating_preview)
|