dotfiles/config/nvim/init.lua

71 lines
2.5 KiB
Lua
Raw Normal View History

2026-03-21 07:27:00 +00:00
vim.g.mapleader = " "
2026-04-10 04:47:51 +00:00
vim.g.termguicolors = true
2026-03-21 07:27:00 +00:00
vim.o.path = "**"
vim.o.nu = true
vim.o.cursorline = true
vim.o.expandtab = true
vim.o.tabstop = 4
vim.o.shiftwidth = 4
vim.o.ignorecase = true
vim.o.hlsearch = true
vim.o.incsearch = true
vim.o.swapfile = false
vim.o.backup = false
vim.o.wrap = false
vim.o.undofile = true
vim.o.list = true
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.winborder = 'rounded'
2026-04-10 04:47:51 +00:00
vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir"
vim.g.gutentags_cache_dir = os.getenv("HOME") .. "/.cache/nvim/tags"
2026-03-21 07:27:00 +00:00
vim.opt.clipboard = "unnamedplus"
vim.o.completeopt = 'menuone,noselect'
2026-04-10 04:47:51 +00:00
vim.cmd(":colorscheme retrobox")
2026-03-21 07:27:00 +00:00
vim.api.nvim_create_autocmd("BufEnter", { pattern = "term://*", callback = function() vim.cmd("startinsert") end })
2026-04-10 04:47:51 +00:00
vim.lsp.enable({ "gopls", "gdscript" })
2026-04-10 04:47:51 +00:00
vim.pack.add({
{ src = "https://github.com/ibhagwan/fzf-lua" },
{ src = "https://github.com/tribela/transparent.nvim" },
{ src = "https://github.com/neovim/nvim-lspconfig" },
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "main" },
{ src="https://github.com/folke/trouble.nvim" }
})
require("fzf-lua").setup()
require("trouble").setup()
vim.api.nvim_create_autocmd('FileType', {
pattern = '*',
callback = function()
pcall(vim.treesitter.start)
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
})
2026-02-09 18:50:56 +00:00
2026-03-21 07:27:00 +00:00
local map = vim.keymap.set
map({"t", "n"}, "<C-h>", "<C-\\><C-n><C-w><C-h>")
map({"t", "n"}, "<C-j>", "<C-\\><C-n><C-w><C-j>")
map({"t", "n"}, "<C-k>", "<C-\\><C-n><C-w><C-k>")
map({"t", "n"}, "<C-l>", "<C-\\><C-n><C-w><C-l>")
2026-04-10 04:47:51 +00:00
map({"i", "n"}, "<C- >", "<C-x><C-o>")
2026-03-21 07:27:00 +00:00
map("n", '<Esc>', '<Cmd>noh<CR><Esc>')
map("t", "<ESC><ESC>", "<C-\\><C-n>")
map("v", "J", ":m '>+1<CR>gv=gv")
map("v", "K", ":m '<-2<CR>gv=gv")
map("v", "<S-Tab>", "<gv")
map("v", "<Tab>" , ">gv")
2026-04-10 04:47:51 +00:00
map("n", "gd", ":lua vim.lsp.buf.definition()<CR>")
2026-03-21 07:27:00 +00:00
map("n", "<leader>p", "<cmd>b#<CR>")
map("n", "<leader>e", ":Ex<CR>")
2026-03-24 05:39:29 +00:00
map("n", "<leader>c", ":bd<CR>")
2026-04-10 04:47:51 +00:00
map("n", "<leader>ff", ":lua FzfLua.files()<CR>")
map("n", "<leader>fo", ":lua FzfLua.buffers()<CR>")
map("n", "<leader>sp", ":lua FzfLua.grep_project()<CR>")
map("n", "<leader>sf", ":lua FzfLua.grep_curbuf()<CR>")
map("n", "<leader>sw", ":lua FzfLua.grep_cword()<CR>")
map("n", "<leader>sh", ":lua FzfLua.help_tags()<CR>")
map("n", "<leader>pa", ":lua FzfLua.lsp_code_actions()<CR>")
map('n', '<leader>pp', ":Trouble diagnostics toggle<CR>")
2026-03-21 07:27:00 +00:00
map("n", "<leader>1", ":vsplit | vertical resize 95 | terminal<CR>a")
map("n", "<leader>2", ":split | horizontal resize 25 | terminal<CR>a")