This commit is contained in:
harshitsharmas84 2025-05-07 12:16:04 +05:30
parent d350db2449
commit 7851cfe3a0
7 changed files with 129 additions and 12 deletions

View File

@ -102,7 +102,7 @@ vim.g.have_nerd_font = false
vim.opt.number = true vim.opt.number = true
-- You can also add relative line numbers, to help with jumping. -- You can also add relative line numbers, to help with jumping.
-- Experiment for yourself to see if you like it! -- Experiment for yourself to see if you like it!
-- vim.opt.relativenumber = true vim.opt.relativenumber = true
-- Enable mouse mode, can be useful for resizing splits for example! -- Enable mouse mode, can be useful for resizing splits for example!
vim.opt.mouse = 'a' vim.opt.mouse = 'a'
@ -166,7 +166,9 @@ vim.opt.confirm = true
-- Clear highlights on search when pressing <Esc> in normal mode -- Clear highlights on search when pressing <Esc> in normal mode
-- See `:help hlsearch` -- See `:help hlsearch`
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>') -- vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
-- Replaced with a better approach that doesn't override Escape's normal function
vim.keymap.set('n', '<leader>/', '<cmd>nohlsearch<CR>', { desc = 'Clear search highlights' })
-- Diagnostic keymaps -- Diagnostic keymaps
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
@ -177,7 +179,7 @@ vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagn
-- --
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping -- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
-- or just use <C-\><C-n> to exit terminal mode -- or just use <C-\><C-n> to exit terminal mode
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' }) vim.keymap.set('t', '<Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
-- TIP: Disable arrow keys in normal mode -- TIP: Disable arrow keys in normal mode
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>') -- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
@ -965,18 +967,18 @@ require('lazy').setup({
-- Here are some example plugins that I've included in the Kickstart repository. -- Here are some example plugins that I've included in the Kickstart repository.
-- Uncomment any of the lines below to enable them (you will need to restart nvim). -- Uncomment any of the lines below to enable them (you will need to restart nvim).
-- --
-- require 'kickstart.plugins.debug', require 'kickstart.plugins.debug',
-- require 'kickstart.plugins.indent_line', require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint', require 'kickstart.plugins.lint',
-- require 'kickstart.plugins.autopairs', require 'kickstart.plugins.autopairs',
-- require 'kickstart.plugins.neo-tree', require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
-- This is the easiest way to modularize your config. -- This is the easiest way to modularize your config.
-- --
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
-- { import = 'custom.plugins' }, { import = 'custom.plugins' },
-- --
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec` -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
-- Or use telescope! -- Or use telescope!

1
kickstart.nvim Submodule

@ -0,0 +1 @@
Subproject commit d350db2449da40df003c40d440f909d74e2d4e70

View File

@ -0,0 +1,32 @@
-- GitHub Copilot configuration
-- https://github.com/github/copilot.vim
return {
"github/copilot.vim",
event = "InsertEnter",
config = function()
-- Disable default mappings
vim.g.copilot_no_maps = true
-- Key mappings
vim.keymap.set('i', '<C-j>', 'copilot#Accept("<CR>")', {
expr = true,
replace_keycodes = false,
silent = true,
})
-- Additional keymaps for Copilot
vim.keymap.set('i', '<C-l>', '<Plug>(copilot-accept-word)', { silent = true })
vim.keymap.set('i', '<C-]>', '<Plug>(copilot-next)', { silent = true })
-- Changed from <C-[> to <M-[> (Alt+[) to avoid conflicting with Escape
vim.keymap.set('i', '<M-[>', '<Plug>(copilot-previous)', { silent = true })
vim.keymap.set('i', '<C-\\>', '<Plug>(copilot-dismiss)', { silent = true })
-- Additional settings
vim.g.copilot_filetypes = {
["*"] = true,
["markdown"] = true,
["help"] = false,
}
end,
}

View File

@ -2,4 +2,6 @@
-- I promise not to create any merge conflicts in this directory :) -- I promise not to create any merge conflicts in this directory :)
-- --
-- See the kickstart.nvim README for more information -- See the kickstart.nvim README for more information
return {} return {
-- Load all plugin files in the custom/plugins directory
}

View File

@ -0,0 +1,21 @@
-- Tab management keymaps
-- These provide VS Code-like tab navigation and management
-- Create a new empty tab
vim.keymap.set('n', '<leader>tn', ':tabnew<CR>', { desc = 'New tab' })
-- Create a new tab and open Telescope file finder
vim.keymap.set('n', '<leader>to', ':tabnew<CR>:Telescope find_files<CR>', { desc = 'New tab with file' })
-- Close the current tab
vim.keymap.set('n', '<leader>tc', ':tabclose<CR>', { desc = 'Close tab' })
-- Navigate to next tab (similar to VS Code)
vim.keymap.set('n', '<C-PgDn>', 'gt', { desc = 'Next tab' })
-- Navigate to previous tab (similar to VS Code)
vim.keymap.set('n', '<C-PgUp>', 'gT', { desc = 'Previous tab' })
-- Add this keymap group to Which-key if you're using it
-- (the plugin will automatically pick this up on next restart)
return {}

View File

@ -0,0 +1,58 @@
-- toggleterm.lua
-- A plugin that helps manage multiple terminal windows in Neovim
-- Github: https://github.com/akinsho/toggleterm.nvim
return {
-- The repository on GitHub
'akinsho/toggleterm.nvim',
-- Use the latest stable version
version = "*",
-- Configuration options for the plugin
opts = {
-- Ctrl+\ will toggle the terminal visibility
open_mapping = [[<c-\>]],
-- Terminal appears as a floating window by default
direction = 'float',
-- How the floating window should look
float_opts = {
-- Curved borders for a nicer appearance
border = 'curved',
},
-- Slightly dim the terminal background
shade_terminals = true,
-- How much to dim the terminal (0-100)
shading_factor = 2,
-- Function to determine size based on terminal direction
size = function(term)
if term.direction == "horizontal" then
-- 15 lines height for horizontal terminals
return 15
elseif term.direction == "vertical" then
-- 40% of window width for vertical terminals
return vim.o.columns * 0.4
end
end,
},
-- Extra key mappings for different terminal layouts
keys = {
-- Leader+th opens a horizontal terminal at the bottom
{ "<leader>th", "<cmd>ToggleTerm direction=horizontal<cr>", desc = "Terminal Horizontal" },
-- Leader+tv opens a vertical terminal at the side
{ "<leader>tv", "<cmd>ToggleTerm direction=vertical<cr>", desc = "Terminal Vertical" },
-- Leader+tf opens a floating terminal (alternative to Ctrl+\)
{ "<leader>tf", "<cmd>ToggleTerm direction=float<cr>", desc = "Terminal Float" },
-- Leader+tt opens a new terminal tab
{ "<leader>tt", "<cmd>ToggleTerm direction=tab<cr>", desc = "Terminal Tab" },
},
}

View File

@ -6,7 +6,8 @@ return {
config = function() config = function()
local lint = require 'lint' local lint = require 'lint'
lint.linters_by_ft = { lint.linters_by_ft = {
markdown = { 'markdownlint' }, -- Commenting out markdownlint to prevent errors
-- markdown = { 'markdownlint' },
} }
-- To allow other plugins to add linters to require('lint').linters_by_ft, -- To allow other plugins to add linters to require('lint').linters_by_ft,