nvim tweaks
This commit is contained in:
+55
-19
@@ -157,6 +157,19 @@ require("lazy").setup({
|
|||||||
{
|
{
|
||||||
"smoka7/hop.nvim",
|
"smoka7/hop.nvim",
|
||||||
opts = {},
|
opts = {},
|
||||||
|
cmd = {
|
||||||
|
"HopWord",
|
||||||
|
"HopCamelCase",
|
||||||
|
"HopChar1",
|
||||||
|
"HopChar2",
|
||||||
|
"HopPattern",
|
||||||
|
"HopLine",
|
||||||
|
"HopLineStart",
|
||||||
|
"HopAnywhere",
|
||||||
|
"HopNodes",
|
||||||
|
"HopPaste",
|
||||||
|
"HopYankChar1",
|
||||||
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<CR>", "<cmd>HopWord<cr>", mode = { "n", "v" }, silent = true, noremap = true },
|
{ "<CR>", "<cmd>HopWord<cr>", mode = { "n", "v" }, silent = true, noremap = true },
|
||||||
{ "<M-CR>", "<cmd>HopAnywhere<cr>", mode = { "n", "v" }, silent = true, noremap = true },
|
{ "<M-CR>", "<cmd>HopAnywhere<cr>", mode = { "n", "v" }, silent = true, noremap = true },
|
||||||
@@ -168,11 +181,12 @@ require("lazy").setup({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"echasnovski/mini.surround",
|
"echasnovski/mini.surround",
|
||||||
version = "*",
|
version = false,
|
||||||
opts = {},
|
opts = {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"echasnovski/mini.bufremove",
|
"echasnovski/mini.bufremove",
|
||||||
|
version = false,
|
||||||
opts = {},
|
opts = {},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<M-d>", function() require("mini.bufremove").wipeout() end, noremap = true },
|
{ "<M-d>", function() require("mini.bufremove").wipeout() end, noremap = true },
|
||||||
@@ -211,7 +225,7 @@ require("lazy").setup({
|
|||||||
-- file management
|
-- file management
|
||||||
{
|
{
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
version = "*",
|
version = false,
|
||||||
cmd = { "Neotree" },
|
cmd = { "Neotree" },
|
||||||
dependencies = { "nvim-lua/plenary.nvim", "mini.icons", "MunifTanjim/nui.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim", "mini.icons", "MunifTanjim/nui.nvim" },
|
||||||
opts = { hijack_netrw_behavior = "disabled" },
|
opts = { hijack_netrw_behavior = "disabled" },
|
||||||
@@ -275,6 +289,7 @@ require("lazy").setup({
|
|||||||
-- search count > 99
|
-- search count > 99
|
||||||
"kevinhwang91/nvim-hlslens",
|
"kevinhwang91/nvim-hlslens",
|
||||||
dependencies = { "haya14busa/vim-asterisk" },
|
dependencies = { "haya14busa/vim-asterisk" },
|
||||||
|
cmd = { "HlSearchLensDisable", "HlSearchLensEnable", "HlSearchLensToggle" },
|
||||||
opts = { nearest_only = true },
|
opts = { nearest_only = true },
|
||||||
keys = {
|
keys = {
|
||||||
{ "*", [[<Plug>(asterisk-z*)<Cmd>lua require('hlslens').start()<CR>]], mode = { "n", "x" }, {} },
|
{ "*", [[<Plug>(asterisk-z*)<Cmd>lua require('hlslens').start()<CR>]], mode = { "n", "x" }, {} },
|
||||||
@@ -427,6 +442,7 @@ require("lazy").setup({
|
|||||||
"DiffviewToggleFiles",
|
"DiffviewToggleFiles",
|
||||||
"DiffviewFocusFiles",
|
"DiffviewFocusFiles",
|
||||||
"DiffviewRefresh",
|
"DiffviewRefresh",
|
||||||
|
"DiffviewFileHistory",
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", noremap = true },
|
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", noremap = true },
|
||||||
@@ -435,6 +451,22 @@ require("lazy").setup({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tpope/vim-fugitive",
|
"tpope/vim-fugitive",
|
||||||
|
cmd = {
|
||||||
|
"Git",
|
||||||
|
"Gedit",
|
||||||
|
"Gdiffsplit",
|
||||||
|
"Gread",
|
||||||
|
"Gwrite",
|
||||||
|
"Ggrep",
|
||||||
|
"Glgrep",
|
||||||
|
"Gmove",
|
||||||
|
"GRename",
|
||||||
|
"GDelete",
|
||||||
|
"GRemove",
|
||||||
|
"Gdelete",
|
||||||
|
"GUnlink",
|
||||||
|
"GBrowse",
|
||||||
|
},
|
||||||
config = function()
|
config = function()
|
||||||
vim.api.nvim_create_autocmd("User", {
|
vim.api.nvim_create_autocmd("User", {
|
||||||
pattern = { "FugitiveCommit", "BufReadPost" },
|
pattern = { "FugitiveCommit", "BufReadPost" },
|
||||||
@@ -478,41 +510,41 @@ require("lazy").setup({
|
|||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
local gs = require("gitsigns")
|
local gs = require("gitsigns")
|
||||||
|
|
||||||
local function map(mode, l, r, opts)
|
local function bmap(mode, l, r, opts)
|
||||||
opts = opts or {}
|
opts = opts or {}
|
||||||
opts.buffer = bufnr
|
opts.buffer = bufnr
|
||||||
vim.keymap.set(mode, l, r, opts)
|
vim.keymap.set(mode, l, r, opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Navigation
|
-- Navigation
|
||||||
map("n", "<M-,>", function()
|
bmap("n", "<M-,>", function()
|
||||||
if vim.wo.diff then return "]c" end
|
if vim.wo.diff then return "]c" end
|
||||||
vim.schedule(function() gs.next_hunk() end)
|
vim.schedule(function() gs.next_hunk() end)
|
||||||
return "<Ignore>"
|
return "<Ignore>"
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
||||||
map("n", "<M-.>", function()
|
bmap("n", "<M-.>", function()
|
||||||
if vim.wo.diff then return "[c" end
|
if vim.wo.diff then return "[c" end
|
||||||
vim.schedule(function() gs.prev_hunk() end)
|
vim.schedule(function() gs.prev_hunk() end)
|
||||||
return "<Ignore>"
|
return "<Ignore>"
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
||||||
-- Actions
|
-- Actions
|
||||||
map({ "n", "v" }, "<leader>gs", gs.stage_hunk)
|
bmap({ "n", "v" }, "<leader>gs", gs.stage_hunk)
|
||||||
map({ "n", "v" }, "<leader>gx", gs.reset_hunk)
|
bmap({ "n", "v" }, "<leader>gx", gs.reset_hunk)
|
||||||
map("n", "<leader>gu", gs.undo_stage_hunk)
|
bmap("n", "<leader>gu", gs.undo_stage_hunk)
|
||||||
map("n", "<leader>gi", gs.preview_hunk_inline)
|
bmap("n", "<leader>gi", gs.preview_hunk)
|
||||||
map("n", "<leader>gb", function() gs.blame_line({ full = true }) end)
|
bmap("n", "<leader>gb", function() gs.blame_line({ full = true }) end)
|
||||||
map("n", "<leader>gS", gs.stage_buffer)
|
bmap("n", "<leader>gS", gs.stage_buffer)
|
||||||
map("n", "<leader>gX", gs.reset_buffer)
|
bmap("n", "<leader>gX", gs.reset_buffer)
|
||||||
map("n", "<leader>td", gs.toggle_deleted)
|
bmap("n", "<leader>td", gs.toggle_deleted)
|
||||||
map("n", "<leader>tl", gs.toggle_linehl)
|
bmap("n", "<leader>tl", gs.toggle_linehl)
|
||||||
map("n", "<leader>tb", gs.toggle_current_line_blame)
|
bmap("n", "<leader>tb", gs.toggle_current_line_blame)
|
||||||
map("n", "<leader>th", gs.toggle_word_diff)
|
bmap("n", "<leader>th", gs.toggle_word_diff)
|
||||||
map("n", "<leader>tn", gs.toggle_numhl)
|
bmap("n", "<leader>tn", gs.toggle_numhl)
|
||||||
|
|
||||||
-- Text object
|
-- Text object
|
||||||
map({ "o", "x" }, "ih", "<cmd><C-U>Gitsigns select_hunk<CR>")
|
bmap({ "o", "x" }, "ih", "<cmd><C-U>Gitsigns select_hunk<CR>")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -549,7 +581,7 @@ require("lazy").setup({
|
|||||||
{
|
{
|
||||||
-- Fuzzy Finder (files, lsp, etc)
|
-- Fuzzy Finder (files, lsp, etc)
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
version = "*",
|
version = false,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"sharkdp/fd",
|
"sharkdp/fd",
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
@@ -845,11 +877,15 @@ require("lazy").setup({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
|
lazy = false,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"williamboman/mason.nvim",
|
"williamboman/mason.nvim",
|
||||||
"williamboman/mason-lspconfig.nvim",
|
"williamboman/mason-lspconfig.nvim",
|
||||||
"kevinhwang91/nvim-ufo",
|
"kevinhwang91/nvim-ufo",
|
||||||
|
{ "j-hui/fidget.nvim", opts = {} },
|
||||||
},
|
},
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
cmd = { "LspInfo", "LspInstall", "LspUninstall" },
|
||||||
keys = { { "<F3>", "<cmd>LspInfo<cr>", noremap = true } },
|
keys = { { "<F3>", "<cmd>LspInfo<cr>", noremap = true } },
|
||||||
config = function()
|
config = function()
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
|
|||||||
Reference in New Issue
Block a user