From 7b5baab6f0b9f74ede2bcdbb657d867da4cece40 Mon Sep 17 00:00:00 2001 From: silly Date: Wed, 8 Apr 2026 07:11:17 +0000 Subject: Update init.lua --- .config/nvim/init.lua | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) (limited to '.config/nvim') diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 8b13789..a2551fa 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1 +1,182 @@ +vim.opt.number = true +vim.opt.relativenumber = false +vim.opt.numberwidth = 4 +vim.opt.statuscolumn = "%l %s" +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.wrap = false +vim.opt.ignorecase = true +vim.opt.smartcase = true +vim.opt.hlsearch = false +vim.opt.termguicolors = false +vim.opt.signcolumn = "yes" +vim.opt.scrolloff = 8 +vim.opt.showmode = false +vim.opt.timeoutlen = 300 +vim.opt.updatetime = 250 +vim.opt.foldcolumn = "0" +vim.opt.directory = vim.fn.stdpath("state") .. "/swap//" +vim.g.mapleader = " " +vim.g.maplocalleader = " " + +vim.keymap.set({"n", "i"}, "", "write", {desc = "Save file"}) +vim.keymap.set("n", "", "write", {desc = "Save file"}) +vim.keymap.set("n", "", "quit", {desc = "Quit Neovim"}) +vim.keymap.set("n", "", "quit!", {desc = "Force quit"}) +vim.keymap.set("n", "", "nohlsearch", {desc = "Clear search highlight"}) +vim.keymap.set({"n", "x"}, "gy", '"+y', {desc = "Copy to clipboard"}) +vim.keymap.set({"n", "x"}, "gp", '"+p', {desc = "Paste from clipboard"}) +vim.keymap.set("n", "", "u", {desc = "Undo"}) +vim.keymap.set("i", "", "u", {desc = "Undo"}) +vim.keymap.set("n", "", "", {desc = "Redo"}) +vim.keymap.set("i", "", "", {desc = "Redo"}) +vim.keymap.set({"n", "i"}, "", "ggVG", {desc = "Select all"}) +vim.keymap.set("n", "", "Telescope find_files", {desc = "Find files"}) +vim.keymap.set("n", "", "Telescope live_grep", {desc = "Text search"}) +vim.keymap.set("n", "", "Telescope buffers", {desc = "Find buffers"}) +vim.keymap.set("n", "", "Telescope help_tags", {desc = "Help tags"}) +vim.keymap.set("n", "", "h", {desc = "Move to left split"}) +vim.keymap.set("n", "", "j", {desc = "Move to lower split"}) +vim.keymap.set("n", "", "k", {desc = "Move to upper split"}) +vim.keymap.set("n", "", "l", {desc = "Move to right split"}) +vim.keymap.set("n", "", "vsplit", {desc = "Vertical split"}) +vim.keymap.set("n", "", "split", {desc = "Horizontal split"}) +vim.keymap.set("n", "", "close", {desc = "Close split"}) + +vim.cmd.colorscheme("default") +vim.opt.matchpairs = "" +vim.api.nvim_set_hl(0, "MatchParen", {}) +vim.cmd("highlight clear MatchParen") +vim.cmd("highlight MatchParen guifg=NONE guibg=NONE gui=NONE") + +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", + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + { + "nvim-telescope/telescope.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + cmd = "Telescope", + keys = { + { "", "Telescope find_files", desc = "Find files" }, + { "", "Telescope live_grep", desc = "Text search" }, + { "", "Telescope buffers", desc = "Find buffers" }, + { "", "Telescope help_tags", desc = "Help tags" }, + }, + config = function() + local telescope = require("telescope") + telescope.setup({ + defaults = { + file_ignore_patterns = { "node_modules", ".git", "%.lock" }, + layout_strategy = "horizontal", + layout_config = { + horizontal = { + preview_width = 0.5, + }, + }, + }, + pickers = { + find_files = { + hidden = true, + no_ignore = false, + }, + live_grep = { + additional_args = function() + return { "--hidden" } + end, + }, + }, + }) + end, + }, + { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + keys = { + { "", "Neotree toggle", desc = "Toggle file explorer" }, + }, + config = function() + require("neo-tree").setup({ + window = { + position = "left", + width = 30, + mappings = { + ["l"] = "open", + ["h"] = "close_node", + [""] = "open", + [""] = "revert_preview", + }, + }, + filesystem = { + filtered_items = { + visible = false, + hide_dotfiles = false, + hide_gitignored = false, + hide_by_name = { + ".git", + ".DS_Store", + "thumbs.db", + }, + }, + follow_current_file = { + enabled = true, + }, + }, + }) + end, + }, + { + "goolord/alpha-nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + config = function() + local alpha = require("alpha") + local dashboard = require("alpha.themes.dashboard") + + dashboard.section.header.val = { + "⠀⠀⠀⢀⡴⠲⣄⠀⠀⢀⡶⠲⡄⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀", + "⣀⣀⣀⣾⠁⠀⠹⠿⠟⠟⠀⠀⠙⣛⣉⡻⠿⠋⣿⣷⢦⣄⠀⠀⠀⠀⠀⠀", + "⠭⠭⣽⠇⠀⠶⠀⢴⣦⠀⠶⠆⠸⠯⠭⠄⠀⠀⠀⠀⠀⠙⢧⡀⠀⢀⣤⣤", + "⠀⠀⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣤⣾⣻⡟", + "⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠽⠋⠀", + "⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀", + "⠀⠀⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠀⠀", + "⠀⠀⠈⠳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠟⠀⠀⠀⠀⠀", + "⠀⠀⠀⠀⠉⠿⠟⠛⠛⠻⠾⠛⠛⠛⠛⠻⠟⠛⠛⠻⠾⠃⠀⠀⠀⠀⠀⠀", + } + + dashboard.section.buttons.val = { + dashboard.button("f", "find file", "Telescope find_files"), + dashboard.button("n", "new file", "enew"), + dashboard.button("r", "recent files", "Telescope oldfiles"), + dashboard.button("q", "quit", "qa"), + } + + alpha.setup(dashboard.opts) + end, + }, +}) + +vim.api.nvim_create_autocmd("User", { + pattern = "LazyDone", + callback = function() + vim.notify("plugins loaded", vim.log.levels.INFO, { title = "neovim" }) + end, +}) -- cgit v1.3.1