dotfiles/config/nvim/init.lua

70 lines
2.5 KiB
Lua
Raw Normal View History

2026-03-21 07:27:00 +00:00
vim.g.mapleader = " "
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'
vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir"
vim.opt.clipboard = "unnamedplus"
vim.o.completeopt = 'menuone,noselect'
vim.api.nvim_create_autocmd("BufEnter", { pattern = "term://*", callback = function() vim.cmd("startinsert") end })
vim.lsp.enable({ "gopls", "gdscript" })
2026-03-31 04:25:44 +00:00
vim.cmd(":colorscheme retrobox")
vim.pack.add({
{ src = "https://github.com/ibhagwan/fzf-lua" },
2026-02-09 18:50:56 +00:00
{ src = "https://github.com/tribela/transparent.nvim" },
2026-03-21 07:27:00 +00:00
{ src = "https://github.com/neovim/nvim-lspconfig" },
2026-02-12 07:26:59 +00:00
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "master" },
2026-02-17 06:03:38 +00:00
})
2026-03-21 07:27:00 +00:00
require("fzf-lua").setup()
require('nvim-treesitter.configs').setup({highlight = { enable = true }})
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-03-31 04:25:44 +00:00
map({"i", "n"}, "<C-Space>", "<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")
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-03-21 07:27:00 +00:00
map("n", "<leader>ff", ":lua FzfLua.files()<CR>")
map("n", "<leader>fo", ":lua FzfLua.buffers()<CR>")
map("n", "<leader>fp", ":lua FzfLua.lsp_document_diagnostics()<CR>")
map("n", "<leader>fa", ":lua FzfLua.lsp_code_actions()<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>1", ":vsplit | vertical resize 95 | terminal<CR>a")
map("n", "<leader>2", ":split | horizontal resize 25 | terminal<CR>a")
2026-03-31 04:25:44 +00:00
map("n", "gd", ":lua vim.lsp.buf.definition()<CR>")
2026-03-21 07:27:00 +00:00
-- [[ GODOT ]]
2026-02-12 07:26:59 +00:00
local cwd = vim.fn.getcwd()
2026-03-21 07:27:00 +00:00
for _, path in ipairs({ cwd, cwd .. '/..' }) do
if vim.uv.fs_stat(path .. '/project.godot') and not vim.uv.fs_stat(path .. '/server.pipe') then
vim.fn.serverstart(path .. '/server.pipe')
2026-02-12 07:26:59 +00:00
break
end
end