-- Bootstrap lazy.nvim local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or 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) -- Leader key vim.g.mapleader = " " -- Settings vim.opt.number = true vim.opt.relativenumber = true vim.opt.shiftwidth = 2 vim.opt.tabstop = 2 vim.opt.expandtab = true -- Keybindings local k = vim.keymap.set k({ "n", "v" }, ";", ":") k({ "n", "v" }, "q;", "q:") k({ "n", "v" }, "y", '"+y') k({ "n", "v" }, "Y", '"+Y') k({ "n", "v" }, "p", '"+p') k({ "n", "v" }, "P", '"+P') k("n", "w", "w") k("n", "q", "q") k("n", "", "nohlsearch") k("n", '"', "split") k("n", "%", "vsplit") k("n", "", "h") k("n", "", "j") k("n", "", "k") k("n", "", "l") -- Plugins require("lazy").setup({ { "catppuccin/nvim", version = "^v1.11.0", name = "catppuccin", priority = 1000 }, { "tpope/vim-abolish", version = "^v1.2" }, { "tpope/vim-commentary", version = "^v1.3" }, { "tpope/vim-repeat", version = "^v1.2" }, { "windwp/nvim-autopairs", commit = "c2a0dd0", event = "InsertEnter", config = true, }, { "kylechui/nvim-surround", version = "^3.0.0", event = "VeryLazy", config = function() require("nvim-surround").setup({}) end }, { "nvim-telescope/telescope.nvim", version = "^v0.2.1", dependencies = { "nvim-lua/plenary.nvim" }, keys = { { "", "Telescope find_files" }, { "/", "Telescope live_grep" }, }, }, { "nvim-tree/nvim-tree.lua", version = "^1.14.0", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("nvim-tree").setup({}) end, keys = { { "", "NvimTreeToggle" }, { "fl", "NvimTreeFindFile" }, }, }, { "nvim-treesitter/nvim-treesitter", branch = 'master', lazy = false, build = ":TSUpdate", config = function() require('nvim-treesitter.configs').setup({ sync_install = false, auto_install = true, highlight = { enable = true }, indent = { enable = true }, }) end }, }) vim.cmd.colorscheme "catppuccin"