mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
chore(nvim): Better keymaps & removed unused plugins
This commit is contained in:
@@ -13,8 +13,6 @@ vim.keymap.set({ "n", "v" }, "<leader>y", '"+y', { desc = "Copy to system clipbo
|
||||
vim.keymap.set({ "n", "v" }, "<leader>p", '"+p', { desc = "Paste from system clipboard" })
|
||||
vim.keymap.set({ "n" }, "<C-c>", "<cmd> %y+ <CR>", { desc = "Copy entire content of the current buffer" })
|
||||
|
||||
vim.keymap.set("n", "<leader>fn", "<cmd>enew<CR>", { desc = "Create new file/buffer" })
|
||||
|
||||
-- Remap for dealing with word wrap
|
||||
vim.keymap.set({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||
vim.keymap.set({ "n", "x" }, "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||
@@ -68,7 +66,6 @@ vim.keymap.set("n", "]q", vim.cmd.cnext, { desc = "Next quickfix" })
|
||||
|
||||
-- Clear searches
|
||||
vim.keymap.set({ "i", "n" }, "<esc>", "<cmd>noh<cr><esc>", { desc = "Escape and clear hlsearch" })
|
||||
vim.keymap.set("n", "<leader>/", "<Cmd>nohlsearch<Bar>diffupdate<Bar>normal! <C-L><CR>", { desc = "Redraw / clear hlsearch / diff update" })
|
||||
|
||||
-- https://github.com/mhinz/vim-galore#saner-behavior-of-n-and-n
|
||||
vim.keymap.set("n", "n", "'Nn'[v:searchforward].'zv'", { expr = true, desc = "Next search result" })
|
||||
|
||||
@@ -1,32 +1,3 @@
|
||||
return {
|
||||
{
|
||||
"David-Kunz/gen.nvim",
|
||||
opts = {
|
||||
model = "mistral:instruct", -- The default model to use.
|
||||
host = "127.0.0.1", -- The host running the Ollama service.
|
||||
port = "11434", -- The port on which the Ollama service is listening.
|
||||
display_mode = "split", -- The display mode. Can be "float" or "split".
|
||||
show_prompt = true, -- Shows the Prompt submitted to Ollama.
|
||||
show_model = true, -- Displays which model you are using at the beginning of your chat session.
|
||||
quit_map = "q", -- set keymap for quit
|
||||
no_auto_close = false, -- Never closes the window automatically.
|
||||
init = function()
|
||||
pcall(io.popen, "ollama serve > /dev/null 2>&1 &")
|
||||
end,
|
||||
-- Function to initialize Ollama
|
||||
command = function(options)
|
||||
return "curl --silent --no-buffer -X POST http://" .. options.host .. ":" .. options.port .. "/api/chat -d $body"
|
||||
end,
|
||||
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
|
||||
-- This can also be a command string.
|
||||
-- The executed command must return a JSON object with { response, context }
|
||||
-- (context property is optional).
|
||||
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
|
||||
debug = false, -- Prints errors and the command which is run.
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>[", ":Gen<cr>", desc = "AI Prompt", mode = { "n" } },
|
||||
{ "<leader>]", ":'<,'>Gen<cr>", desc = "Contextual AI Prompt", mode = { "v" } },
|
||||
},
|
||||
},
|
||||
-- TODO: Use similar keymaps to Windsurf
|
||||
}
|
||||
|
||||
@@ -190,11 +190,9 @@ return {
|
||||
desc = "Previous todo comment",
|
||||
},
|
||||
|
||||
{ "<leader>dt", "<cmd>TodoTrouble<cr>", desc = "Todo (Trouble)" },
|
||||
{ "<leader>dT", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
|
||||
-- TODO: Include hidden files
|
||||
{ "<leader>lt", "<cmd>TodoTelescope<cr>", desc = "List Todo" },
|
||||
{ "<leader>lT", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "List Todo/Fix/Fixme" },
|
||||
{ "<leader>fT", "<cmd>TodoTelescope<cr>", desc = "List Todo/Fix/Fixme" },
|
||||
{ "<leader>ft", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "List Todo" },
|
||||
},
|
||||
},
|
||||
|
||||
@@ -280,29 +278,6 @@ return {
|
||||
},
|
||||
},
|
||||
|
||||
-- Inlay hints
|
||||
{
|
||||
"lvimuser/lsp-inlayhints.nvim",
|
||||
cond = require("config.util").is_not_vscode(),
|
||||
config = function()
|
||||
require("lsp-inlayhints").setup()
|
||||
|
||||
-- Lazy load on LspAttach
|
||||
vim.api.nvim_create_augroup("LspAttach_inlayhints", {})
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = "LspAttach_inlayhints",
|
||||
callback = function(args)
|
||||
if not (args.data and args.data.client_id) then
|
||||
return
|
||||
end
|
||||
|
||||
local bufnr = args.buf
|
||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
require("lsp-inlayhints").on_attach(client, bufnr)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- LspSaga
|
||||
{
|
||||
@@ -406,7 +381,7 @@ return {
|
||||
--
|
||||
-- ["g?"] = actions.help(), -- Open mappings help window
|
||||
{
|
||||
"<leader>v",
|
||||
"<leader>o",
|
||||
function()
|
||||
return require("nvim-navbuddy").open()
|
||||
end,
|
||||
@@ -414,137 +389,4 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Refactor code: Refactoring book by Martin Fowler
|
||||
{
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
cond = require("config.util").is_not_vscode(),
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>rs",
|
||||
function()
|
||||
require("telescope").extensions.refactoring.refactors()
|
||||
end,
|
||||
mode = "v",
|
||||
desc = "Refactor",
|
||||
},
|
||||
{
|
||||
"<leader>ri",
|
||||
function()
|
||||
require("refactoring").refactor("Inline Variable")
|
||||
end,
|
||||
mode = { "n", "v" },
|
||||
desc = "Inline Variable",
|
||||
},
|
||||
{
|
||||
"<leader>rb",
|
||||
function()
|
||||
require("refactoring").refactor("Extract Block")
|
||||
end,
|
||||
desc = "Extract Block",
|
||||
},
|
||||
{
|
||||
"<leader>rf",
|
||||
function()
|
||||
require("refactoring").refactor("Extract Block To File")
|
||||
end,
|
||||
desc = "Extract Block To File",
|
||||
},
|
||||
{
|
||||
"<leader>rP",
|
||||
function()
|
||||
require("refactoring").debug.printf({ below = false })
|
||||
end,
|
||||
desc = "Debug Print",
|
||||
},
|
||||
{
|
||||
"<leader>rp",
|
||||
function()
|
||||
require("refactoring").debug.print_var({ normal = true })
|
||||
end,
|
||||
desc = "Debug Print Variable",
|
||||
},
|
||||
{
|
||||
"<leader>rc",
|
||||
function()
|
||||
require("refactoring").debug.cleanup({})
|
||||
end,
|
||||
desc = "Debug Cleanup",
|
||||
},
|
||||
{
|
||||
"<leader>rf",
|
||||
function()
|
||||
require("refactoring").refactor("Extract Function")
|
||||
end,
|
||||
mode = "v",
|
||||
desc = "Extract Function",
|
||||
},
|
||||
{
|
||||
"<leader>rF",
|
||||
function()
|
||||
require("refactoring").refactor("Extract Function To File")
|
||||
end,
|
||||
mode = "v",
|
||||
desc = "Extract Function To File",
|
||||
},
|
||||
{
|
||||
"<leader>rx",
|
||||
function()
|
||||
require("refactoring").refactor("Extract Variable")
|
||||
end,
|
||||
mode = "v",
|
||||
desc = "Extract Variable",
|
||||
},
|
||||
{
|
||||
"<leader>rp",
|
||||
function()
|
||||
require("refactoring").debug.print_var()
|
||||
end,
|
||||
mode = "v",
|
||||
desc = "Debug Print Variable",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
prompt_func_return_type = {
|
||||
go = false,
|
||||
java = false,
|
||||
cpp = false,
|
||||
c = false,
|
||||
h = false,
|
||||
hpp = false,
|
||||
cxx = false,
|
||||
},
|
||||
prompt_func_param_type = {
|
||||
go = false,
|
||||
java = false,
|
||||
cpp = false,
|
||||
c = false,
|
||||
h = false,
|
||||
hpp = false,
|
||||
cxx = false,
|
||||
},
|
||||
printf_statements = {},
|
||||
print_var_statements = {},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("refactoring").setup(opts)
|
||||
pcall(require("telescope").load_extension, "refactoring")
|
||||
end,
|
||||
},
|
||||
|
||||
-- which key integration
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
optional = true,
|
||||
opts = {
|
||||
defaults = {
|
||||
["<leader>r"] = { name = "+refactor" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,115 +1,4 @@
|
||||
return {
|
||||
-- Harpoon
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>ha",
|
||||
function()
|
||||
require("harpoon"):list():append()
|
||||
end,
|
||||
desc = "Add current file to harpoon-list",
|
||||
},
|
||||
{
|
||||
"<leader>hd",
|
||||
function()
|
||||
require("harpoon"):list():remove()
|
||||
end,
|
||||
desc = "Remove current file from harpoon-list",
|
||||
},
|
||||
{
|
||||
"<leader>hh",
|
||||
function()
|
||||
local harpoon = require("harpoon")
|
||||
harpoon.ui:toggle_quick_menu(harpoon:list())
|
||||
end,
|
||||
desc = "Show harpoon list",
|
||||
},
|
||||
{
|
||||
"<M-1>",
|
||||
function()
|
||||
require("harpoon"):list():select(1)
|
||||
end,
|
||||
desc = "Switch to the 1st file in harpoon-list",
|
||||
},
|
||||
{
|
||||
"<M-2>",
|
||||
function()
|
||||
require("harpoon"):list():select(2)
|
||||
end,
|
||||
desc = "Switch to the 2nd file in harpoon-list",
|
||||
},
|
||||
{
|
||||
"<M-3>",
|
||||
function()
|
||||
require("harpoon"):list():select(3)
|
||||
end,
|
||||
desc = "Switch to the 3rd file in harpoon-list",
|
||||
},
|
||||
{
|
||||
"<M-4>",
|
||||
function()
|
||||
require("harpoon"):list():select(4)
|
||||
end,
|
||||
desc = "Switch to the 4th file in harpoon-list",
|
||||
},
|
||||
-- Toggle previous & next buffers stored within require("harpoon") list
|
||||
{
|
||||
"<C-S-P>",
|
||||
function()
|
||||
require("harpoon"):list():prev()
|
||||
end,
|
||||
desc = "Harpoon go to the next file in harpoon-list",
|
||||
},
|
||||
{
|
||||
"<C-S-N>",
|
||||
function()
|
||||
require("harpoon"):list():next()
|
||||
end,
|
||||
desc = "Harpoon go to the previous file in harpoon-list",
|
||||
},
|
||||
},
|
||||
setup = {
|
||||
settings = {
|
||||
save_on_change = true,
|
||||
save_on_toggle = false,
|
||||
mark_branch = true,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local harpoon = require("harpoon")
|
||||
harpoon:setup()
|
||||
|
||||
-- basic telescope configuration
|
||||
local tele_conf = require("telescope.config").values
|
||||
local function toggle_telescope(harpoon_files)
|
||||
local file_paths = {}
|
||||
for _, item in ipairs(harpoon_files.items) do
|
||||
table.insert(file_paths, item.value)
|
||||
end
|
||||
|
||||
require("telescope.pickers")
|
||||
.new({}, {
|
||||
prompt_title = "Harpoon",
|
||||
finder = require("telescope.finders").new_table({
|
||||
results = file_paths,
|
||||
}),
|
||||
previewer = tele_conf.file_previewer({}),
|
||||
sorter = tele_conf.generic_sorter({}),
|
||||
})
|
||||
:find()
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "<leader>lh", function()
|
||||
toggle_telescope(harpoon:list())
|
||||
end, { desc = "List harpooned files" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- File Explorer: Neotree
|
||||
{
|
||||
@@ -117,7 +6,8 @@ return {
|
||||
cond = require("config.util").is_not_vscode(),
|
||||
branch = "v3.x",
|
||||
keys = {
|
||||
{ "<leader>e", "<CMD>Neotree filesystem toggle<CR>", desc = "Open NeoTree Explorer at Git root", remap = true },
|
||||
{ "<leader><tab>", "<CMD>Neotree toggle left<CR>", desc = "Open NeoTree Explorer at Git root", remap = true },
|
||||
{ "<leader>e", "<CMD>Neotree toggle float<CR>", desc = "Open NeoTree on Floating Window", remap = true },
|
||||
|
||||
{
|
||||
"<leader>be",
|
||||
@@ -218,6 +108,10 @@ return {
|
||||
return vim.fn.executable("make") == 1
|
||||
end,
|
||||
},
|
||||
"nvim-telescope/telescope-ui-select.nvim",
|
||||
{
|
||||
"nvim-tree/nvim-web-devicons", enabled = vim.g.have_nerd_font
|
||||
}
|
||||
},
|
||||
config = function()
|
||||
-- NOTE: Search in hidden files trick taken from: https://stackoverflow.com/a/75500661/11057673
|
||||
@@ -253,10 +147,16 @@ return {
|
||||
find_command = { "rg", "--files", "--hidden", "--glob", "!**/.git/*" },
|
||||
},
|
||||
},
|
||||
extensions = {
|
||||
["ui-select"] = {
|
||||
require("telescope.themes").get_dropdown(),
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Load some required Telescope extensions
|
||||
pcall(require("telescope").load_extension, "fzf")
|
||||
pcall(require("telescope").load_extension, "ui-select")
|
||||
|
||||
-- Special Things: Telescope
|
||||
vim.keymap.set("n", "<leader>nc", require("telescope.builtin").colorscheme,
|
||||
@@ -269,41 +169,55 @@ return {
|
||||
prompt_title = "Live Grep in Open Files",
|
||||
})
|
||||
end, { desc = "Search Open Buffers" })
|
||||
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep, { desc = "Search/LiveGrep the Project" })
|
||||
vim.keymap.set("n", "<CS-F>", require("telescope.builtin").live_grep, { desc = "Search/LiveGrep the Project" })
|
||||
vim.keymap.set("n", "<leader>sw", require("telescope.builtin").grep_string, { desc = "Search current Word in Project" })
|
||||
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep,
|
||||
{ desc = "Search/LiveGrep the Project" })
|
||||
vim.keymap.set("n", "<C-a-f>", require("telescope.builtin").live_grep,
|
||||
{ desc = "Search/LiveGrep the Project" })
|
||||
vim.keymap.set("n", "<leader>sw", require("telescope.builtin").grep_string,
|
||||
{ desc = "Search current Word in Project" })
|
||||
|
||||
-- List
|
||||
vim.keymap.set("n", "<leader>lb", require("telescope.builtin").buffers, { desc = "List Bbuffers" })
|
||||
vim.keymap.set("n", "<leader>lc", require("telescope.builtin").command_history, { desc = "List NeoVIM Command History" })
|
||||
vim.keymap.set("n", "<leader>fb", require("telescope.builtin").buffers, { desc = "List Buffers" })
|
||||
vim.keymap.set("n", "<leader>fc", require("telescope.builtin").command_history,
|
||||
{ desc = "List NeoVIM Command History" })
|
||||
vim.keymap.set("n", "<C-a-p>", require("telescope.builtin").find_files, { desc = "List & Search Files" })
|
||||
vim.keymap.set("n", "<leader>lf", require("telescope.builtin").find_files, { desc = "List & Search Files" })
|
||||
vim.keymap.set("n", "<leader>ln", require("telescope.builtin").help_tags, { desc = "List & Search NeoVIM Help" })
|
||||
vim.keymap.set("n", "<leader>lk", require("telescope.builtin").keymaps, { desc = "List & Search NeoVIM Keymaps" })
|
||||
vim.keymap.set("n", "<leader>lm", require("telescope.builtin").man_pages, { desc = "List & Search System Man Pages" })
|
||||
vim.keymap.set("n", "<leader>lq", require("telescope.builtin").quickfixhistory, { desc = "List Quickfix History" })
|
||||
vim.keymap.set("n", "<leader>ls", require("telescope.builtin").search_history, { desc = "List Search History" })
|
||||
vim.keymap.set("n", "<leader>lv", require("telescope.builtin").vim_options, { desc = "List Vim Options" })
|
||||
vim.keymap.set("n", "<leader>ff", require("telescope.builtin").find_files, { desc = "List & Search Files" })
|
||||
vim.keymap.set("n", "<leader>fn", require("telescope.builtin").help_tags,
|
||||
{ desc = "List & Search NeoVIM Help" })
|
||||
vim.keymap.set("n", "<leader>fq", require("telescope.builtin").quickfixhistory,
|
||||
{ desc = "List Quickfix History" })
|
||||
vim.keymap.set("n", "<leader>fs", require("telescope.builtin").search_history,
|
||||
{ desc = "List Search History" })
|
||||
|
||||
-- Git
|
||||
vim.keymap.set("n", "<leader>glb", require("telescope.builtin").git_branches, { desc = "List Git Branches" })
|
||||
vim.keymap.set("n", "<leader>glc", require("telescope.builtin").git_commits, { desc = "List Git Commits" })
|
||||
vim.keymap.set("n", "<leader>gfb", require("telescope.builtin").git_branches, { desc = "List Git Branches" })
|
||||
vim.keymap.set("n", "<leader>gfc", require("telescope.builtin").git_commits, { desc = "List Git Commits" })
|
||||
|
||||
-- LSP Things -> Coding
|
||||
vim.keymap.set("n", "<leader>cld", require("telescope.builtin").diagnostics, { desc = "Code: List Diagnostics" })
|
||||
vim.keymap.set("n", "<leader>cld", require("telescope.builtin").diagnostics,
|
||||
{ desc = "Code: List Diagnostics" })
|
||||
|
||||
vim.keymap.set("n", "<leader>ci", require("telescope.builtin").lsp_implementations, { desc = "Code: Goto Implementation" })
|
||||
vim.keymap.set("n", "<leader>ci", require("telescope.builtin").lsp_implementations,
|
||||
{ desc = "Code: Goto Implementation" })
|
||||
|
||||
vim.keymap.set("n", "gd", require("telescope.builtin").lsp_definitions, { desc = "Code: Goto Definition" })
|
||||
vim.keymap.set("n", "<leader>ct", require("telescope.builtin").lsp_type_definitions, { desc = "Code: Goto Type Definition" })
|
||||
vim.keymap.set("n", "<leader>ct", require("telescope.builtin").lsp_type_definitions,
|
||||
{ desc = "Code: Goto Type Definition" })
|
||||
-- vim.keymap.set("n", "<leader>cgD", vim.lsp.buf.declaration, { desc = "Goto Declaration" })
|
||||
|
||||
vim.keymap.set("n", "<leader>cR", require("telescope.builtin").lsp_references, { desc = "Code: Goto References" })
|
||||
vim.keymap.set("n", "<leader>cR", require("telescope.builtin").lsp_references,
|
||||
{ desc = "Code: Goto References" })
|
||||
-- vim.keymap.set("n", "<leader>cR", require("telescope.builtin").lsp_references, { desc = "Code: List References for word under cursor" })
|
||||
|
||||
-- vim.keymap.set("n", "<leader>cs", require("telescope.builtin").lsp_document_symbols, { desc = "Document Symbols" })
|
||||
vim.keymap.set("n", "<leader>O", require("telescope.builtin").lsp_workspace_symbols,
|
||||
{ desc = "Code: Search Workspace Symbols" })
|
||||
|
||||
vim.keymap.set("n", "<leader>nk", require("telescope.builtin").keymaps,
|
||||
{ desc = "List & Search NeoVIM Keymaps" })
|
||||
vim.keymap.set("n", "<leader>nm", require("telescope.builtin").man_pages,
|
||||
{ desc = "List & Search System Man Pages" })
|
||||
vim.keymap.set("n", "<leader>nn", "<cmd>Telescope notify<cr>", { desc = "List past notifications" })
|
||||
vim.keymap.set("n", "<leader>nv", require("telescope.builtin").vim_options, { desc = "List Vim Options" })
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -39,11 +39,11 @@ return {
|
||||
},
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{ "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle buffer-pin" },
|
||||
{ "<leader>bj", "<Cmd>BufferLinePick<CR>", desc = "Choose and jump to a buffer" },
|
||||
{ "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle buffer-pin" },
|
||||
{ "<leader>bj", "<Cmd>BufferLinePick<CR>", desc = "Choose and jump to a buffer" },
|
||||
{ "<leader>xo", "<Cmd>BufferLineCloseOthers<CR>", desc = "Close other buffers" },
|
||||
{ "[b", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev buffer" },
|
||||
{ "]b", "<cmd>BufferLineCycleNext<cr>", desc = "Next buffer" },
|
||||
{ "[b", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev buffer" },
|
||||
{ "]b", "<cmd>BufferLineCycleNext<cr>", desc = "Next buffer" },
|
||||
},
|
||||
opts = {
|
||||
options = {
|
||||
|
||||
Reference in New Issue
Block a user