added things
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- move selected stuff with J and K
|
||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||
|
||||
-- make the cursor in the middle when scrolling fast
|
||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||
|
||||
-- clipboard remap
|
||||
vim.keymap.set("n", "<leader>y", "\"+y")
|
||||
vim.keymap.set("v", "<leader>y", "\"+y")
|
||||
vim.keymap.set("n", "<leader>Y", "\"+Y")
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
callback = function(args)
|
||||
local map = vim.keymap.set
|
||||
local opts = { buffer = args.buf }
|
||||
|
||||
map("n", "gd", vim.lsp.buf.definition, opts)
|
||||
map("n", "K", vim.lsp.buf.hover, opts)
|
||||
map("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
||||
map("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
||||
map("n", "gr", vim.lsp.buf.references, opts)
|
||||
end,
|
||||
})
|
||||
@@ -0,0 +1,35 @@
|
||||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "habamax" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
})
|
||||
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"folke/neodev.nvim",
|
||||
"folke/which-key.nvim",
|
||||
{ "folke/neoconf.nvim", cmd = "Neoconf" },
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
return {
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
lazy = false,
|
||||
version = "*",
|
||||
|
||||
opts = {
|
||||
keymap = {
|
||||
preset = "default",
|
||||
-- accept completion
|
||||
["<CR>"] = { "accept", "fallback" },
|
||||
-- navigate completion menu
|
||||
["<Tab>"] = { "select_next", "fallback" },
|
||||
["<S-Tab>"] = { "select_prev", "fallback" },
|
||||
},
|
||||
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
},
|
||||
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
config = function()
|
||||
local harpoon = require("harpoon")
|
||||
|
||||
harpoon:setup()
|
||||
|
||||
vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end)
|
||||
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
||||
|
||||
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
|
||||
vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
|
||||
vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
|
||||
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"lua_ls",
|
||||
"ts_ls",
|
||||
"pyright",
|
||||
},
|
||||
-- automatically call vim.lsp.enable() for installed servers
|
||||
automatic_enable = true,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
return {
|
||||
-- Main Telescope plugin
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
version = "*", -- gets latest stable release; "*" is recommended now
|
||||
-- alternatively pin to a specific tag if you prefer stability:
|
||||
-- tag = "0.2.1", -- check https://github.com/nvim-telescope/telescope.nvim/tags for latest
|
||||
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim", -- required
|
||||
|
||||
-- Strongly recommended: much faster fuzzy sorting & matching
|
||||
{
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
build = "make", -- or "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release" if you prefer
|
||||
},
|
||||
|
||||
-- Optional nice-to-haves (uncomment if you want them)
|
||||
-- "nvim-tree/nvim-web-devicons", -- for nicer icons (if you don't have it elsewhere)
|
||||
-- "nvim-telescope/telescope-ui-select.nvim", -- use Telescope for vim.ui.select()
|
||||
-- "nvim-telescope/telescope-file-browser.nvim",
|
||||
},
|
||||
|
||||
config = function()
|
||||
local telescope = require("telescope")
|
||||
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
-- Some sensible defaults — feel free to customize
|
||||
layout_strategy = "horizontal", -- or "vertical", "bottom_pane", "ivy", etc.
|
||||
layout_config = {
|
||||
horizontal = { preview_width = 0.55 },
|
||||
},
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-j>"] = "move_selection_next",
|
||||
["<C-k>"] = "move_selection_previous",
|
||||
},
|
||||
},
|
||||
-- path_display = { "truncate" }, -- nicer path shortening
|
||||
},
|
||||
|
||||
-- You can add picker-specific configs here too
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true, -- show dotfiles
|
||||
},
|
||||
},
|
||||
|
||||
extensions = {
|
||||
-- If you add extensions above, configure/load them here
|
||||
-- fzf = { fuzzy = true, override_generic_sorter = true, override_file_sorter = true },
|
||||
-- ["ui-select"] = { require("telescope.themes").get_dropdown({}) },
|
||||
},
|
||||
})
|
||||
|
||||
-- Load fzf extension (highly recommended for speed)
|
||||
pcall(telescope.load_extension, "fzf")
|
||||
|
||||
-- ADD KEYMAPS HERE
|
||||
local builtin = require("telescope.builtin")
|
||||
|
||||
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Find files" })
|
||||
vim.keymap.set("n", "<leader>gf", builtin.git_files, { desc = "Find Git files" })
|
||||
vim.keymap.set("n", "<leader>ps", function()
|
||||
builtin.grep_string({ search = vim.fn.input("Grep > ") });
|
||||
end)
|
||||
|
||||
-- Optional: load other extensions if you added them
|
||||
-- pcall(telescope.load_extension, "ui-select")
|
||||
-- pcall(telescope.load_extension, "file_browser")
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
{
|
||||
"mbbill/undotree",
|
||||
lazy = false,
|
||||
config = function()
|
||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||
end,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user