dotfiles/nvim/init.lua

118 lines
3.6 KiB
Lua
Raw Normal View History

2023-04-07 16:38:45 +02:00
-- install Lazy
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- define plugins
2023-04-15 00:12:40 +02:00
require("lazy").setup({
2023-04-07 17:04:04 +02:00
"bitc/vim-bad-whitespace",
"lewis6991/gitsigns.nvim",
"numToStr/Comment.nvim",
"NvChad/nvim-colorizer.lua",
"nvim-lualine/lualine.nvim",
"nvim-treesitter/nvim-treesitter",
"tanvirtin/monokai.nvim",
{ "nvim-telescope/telescope.nvim",
dependencies = { 'nvim-lua/plenary.nvim' }
}
2023-04-15 00:12:40 +02:00
})
2023-04-15 00:12:40 +02:00
-- start & setup plugins
-- colorscheme has to be first
require("monokai").setup()
require("gitsigns").setup({
signs = {
add = { text = "" },
change = { text = "" },
delete = { text = "" },
topdelete = { text = "" },
changedelete = { text = "" },
untracked = { text = "" },
},
2023-04-15 00:12:40 +02:00
})
require("Comment").setup()
require("colorizer").setup()
require("lualine").setup({
options = {
component_separators = '',
icons_enabled = false,
section_separators = '',
theme = "powerline",
},
sections = {
lualine_a = { "mode" },
lualine_b = { { "filename", file_status = true, path = 1 } },
lualine_c = { "branch" },
lualine_x = { "filetype" },
lualine_y = { "progress" },
lualine_z = { "location" },
},
2023-04-15 00:12:40 +02:00
})
require("nvim-treesitter.configs").setup({
2023-04-07 17:04:04 +02:00
build = ":TSUpdate",
ensure_installed = { "bash", "python", "terraform", "vim", "yaml" },
highlight = { enable = true },
2023-04-15 00:12:40 +02:00
})
2023-04-07 16:38:45 +02:00
-- modify colorcheme
vim.api.nvim_set_hl(0, "Normal", { bg = NONE })
vim.api.nvim_set_hl(0, "NonText", { bg = NONE })
vim.api.nvim_set_hl(0, "BadWhitespace", { bg = "#770000" })
vim.api.nvim_set_hl(0, "ColorColumn", { bg = "#770000" })
vim.api.nvim_set_hl(0, "DiffChange", { bg = NONE, fg = "#e7c547" })
vim.api.nvim_set_hl(0, "DiffText", { bg = NONE, fg = "#ff8700" })
vim.api.nvim_set_hl(0, "LineNr", { bg = NONE, fg = "#465457" })
vim.api.nvim_set_hl(0, "Visual", { bg = "#005577", fg = "#ffffff" })
vim.api.nvim_set_hl(0, "SpellBad", { bg = "#770000", fg = "#ffffff" })
-- global options
vim.opt.cursorline = true
vim.opt.expandtab = true
vim.opt.gdefault = true
vim.opt.hlsearch = false
vim.opt.ignorecase = true
vim.opt.number = true
vim.opt.shiftround = true
vim.opt.showmode = false
vim.opt.smartcase = true
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.opt.termguicolors = true
vim.opt.writebackup = false
vim.opt.clipboard = ""
2023-04-07 16:38:45 +02:00
vim.opt.mouse = ""
vim.opt.tabstop = 2
vim.opt.scrolloff = 5
vim.opt.updatetime = 100
vim.opt.shiftwidth = 2
vim.opt.showtabline = 0
vim.opt.softtabstop = 2
-- configure mappings
vim.g.mapleader = " "
2023-04-15 00:12:40 +02:00
vim.keymap.set("i", "<C-a>", "<esc>I", { silent = true })
vim.keymap.set("i", "<C-e>", "<esc>A", { silent = true })
vim.keymap.set("n", "<esc><cr>", "<esc>:wq!<cr>", { silent = true })
vim.keymap.set("n", "<leader>c", ':execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>', { silent = true })
vim.keymap.set("n", "<leader>ff", require("telescope.builtin").find_files, {})
vim.keymap.set("n", "<leader>fg", require("telescope.builtin").live_grep, {})
2023-04-15 00:16:14 +02:00
vim.keymap.set("n", "<leader>h", ":set hlsearch!<cr>", { silent = true })
2023-04-15 00:12:40 +02:00
vim.keymap.set("n", "<leader>n", ":set nonumber!<cr>:Gitsigns toggle_signs<cr>", { silent = true })
vim.keymap.set("n", "<leader>s", ":set spell!<cr>", { silent = true })
vim.keymap.set("n", "<tab>", "<C-w>w", { silent = true })
2023-04-14 23:39:02 +02:00
2023-04-15 00:12:40 +02:00
-- autocmd
2023-04-14 23:39:02 +02:00
vim.api.nvim_create_autocmd({"BufEnter", "BufWinEnter"}, {
pattern = {"*.gotmpl"},
callback = function() vim.bo.filetype = "yaml" end,
})