summaryrefslogtreecommitdiff
path: root/.config/nvim/init.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/init.lua')
-rw-r--r--.config/nvim/init.lua33
1 files changed, 33 insertions, 0 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
new file mode 100644
index 0000000..a7afba8
--- /dev/null
+++ b/.config/nvim/init.lua
@@ -0,0 +1,33 @@
+-- general settings
+vim.opt.number = true -- show line numbers
+vim.opt.relativenumber = true -- relative line numbers for navigation
+vim.opt.clipboard:append { 'unnamedplus' } -- use clipboard
+vim.opt.mouse = "a" -- enable mouse support
+vim.opt.updatetime = 250 -- Faster updates (e.g., for LSP diagnostics)
+vim.opt.timeoutlen = 500 -- Shorter timeout for key sequences
+vim.opt.splitright = true -- vsplit opens new buffer on the right side
+
+-- tab and indentation settings
+vim.opt.expandtab = true -- tabs are converted to spaces
+vim.opt.shiftwidth = 4 -- 4 spaces for indentation
+vim.opt.tabstop = 4 -- 4 spaces for tabs
+vim.opt.softtabstop = 4 -- 4 spaces for tab key
+vim.opt.autoindent = true -- Copy indent from previous line
+
+-- plugin preparation
+vim.opt.signcolumn = "yes" -- LSP diagnostics
+vim.opt.termguicolors = true -- enable true colors
+vim.opt.completeopt = { "menu", "menuone", "noselect" } -- required for nvim-cmp
+
+-- plugin manager (set leader key before loading lazy.nvim)
+vim.g.mapleader = " " -- Set leader to space
+vim.g.maplocalleader = "\\" -- Set local leader to backslash
+require("config.lazy")
+
+-- load lsp's
+vim.lsp.enable({
+ 'lua_ls',
+ 'clangd',
+ 'pyright'
+})
+