diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 4491580..ba9662d 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -1,48 +1,33 @@ +local map = vim.keymap.set vim.g.mapleader = " " -vim.g.termguicolors = true -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.g.gutentags_cache_dir = os.getenv("HOME") .. "/.cache/nvim/tags" +vim.g.termguicolors = true -- Enable 24-bit RGB colors +vim.o.nu = true -- Show line numbers +vim.o.cursorline = true -- Highlight the line where the cursor is +vim.o.wrap = false -- Don't wrap long lines to the next line +vim.o.list = true -- Show invisible characters (tabs, trailing spaces) +vim.o.scrolloff = 8 -- Keep 8 lines above/below cursor when scrolling +vim.o.winborder = 'rounded' -- Use rounded borders for floating windows +vim.o.ignorecase = true -- Ignore case in search patterns +vim.o.smartcase = true -- ...unless search contains an uppercase letter +vim.o.hlsearch = true -- Keep search results highlighted +vim.o.incsearch = true -- Show search results as you type +vim.o.path = "**" -- Search down into subdirectories (classic Vim) +vim.o.expandtab = true -- Use spaces instead of tabs +vim.o.tabstop = 4 -- 1 tab = 4 spaces +vim.o.shiftwidth = 4 -- Indentation amount for >> and << commands +vim.o.swapfile = false -- Disable creation of .swp files +vim.o.backup = false -- Disable backup files +vim.o.undofile = true -- Save undo history to a file +vim.o.splitright = true -- Open vertical splits to the right +vim.o.splitbelow = true -- Open horizontal splits below +vim.o.timeoutlen = 300 -- Time (ms) to wait for a mapped sequence to complete vim.opt.clipboard = "unnamedplus" vim.o.completeopt = 'menuone,noselect' -vim.cmd(":colorscheme retrobox") +vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" vim.api.nvim_create_autocmd("BufEnter", { pattern = "term://*", callback = function() vim.cmd("startinsert") end }) vim.lsp.enable({ "gopls", "gdscript" }) +vim.cmd(":colorscheme retrobox") -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, -}) - -local map = vim.keymap.set map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") @@ -55,16 +40,10 @@ map("v", "K", ":m '<-2gv=gv") map("v", "", "" , ">gv") map("n", "gd", ":lua vim.lsp.buf.definition()") -map("n", "p", "b#") +map("n", "p", ":b#") map("n", "e", ":Ex") map("n", "c", ":bd") -map("n", "ff", ":lua FzfLua.files()") -map("n", "fo", ":lua FzfLua.buffers()") -map("n", "sp", ":lua FzfLua.grep_project()") -map("n", "sf", ":lua FzfLua.grep_curbuf()") -map("n", "sw", ":lua FzfLua.grep_cword()") -map("n", "sh", ":lua FzfLua.help_tags()") -map("n", "pa", ":lua FzfLua.lsp_code_actions()") -map('n', 'pp', ":Trouble diagnostics toggle") map("n", "1", ":vsplit | vertical resize 95 | terminala") map("n", "2", ":split | horizontal resize 25 | terminala") + +require("plugins") diff --git a/config/nvim/lua/plugins/init.lua b/config/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..a3dad7a --- /dev/null +++ b/config/nvim/lua/plugins/init.lua @@ -0,0 +1,46 @@ +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" }, + { src="https://github.com/stevearc/oil.nvim" } +}) + +local map = vim.keymap.set +local acmd = vim.api.nvim_create_autocmd + +acmd('FileType', { + pattern = '*', + callback = function() + pcall(vim.treesitter.start) + vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" + end, +}) + +require("fzf-lua").setup() +map("n", "ff", ":lua FzfLua.files()") +map("n", "fo", ":lua FzfLua.buffers()") +map("n", "sp", ":lua FzfLua.grep_project()") +map("n", "sf", ":lua FzfLua.grep_curbuf()") +map("n", "sw", ":lua FzfLua.grep_cword()") +map("n", "sh", ":lua FzfLua.help_tags()") + +require("trouble").setup() +map("n", "pa", ":lua FzfLua.lsp_code_actions()") +map('n', 'pp', ":Trouble diagnostics toggle") + +require("oil").setup({ + keymaps = { + ["q"] = { "actions.close", mode = "n" }, + ["h"] = "actions.parent", + ["l"] = "actions.select", + [""] = false, + [""] = false, + ["gh"] = "actions.toggle_hidden", + }, + view_options = { + show_hidden = false, + } +}) +map("n", "e", ":Oil " .. vim.fn.getcwd() .. "")