Added my remaps
This commit is contained in:
		
							parent
							
								
									1915cea32e
								
							
						
					
					
						commit
						32a3daf4dc
					
				
							
								
								
									
										169
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										169
									
								
								init.lua
								
								
								
								
							| 
						 | 
					@ -44,6 +44,49 @@ P.S. You can delete this when you're done too. It's your config now :)
 | 
				
			||||||
vim.g.mapleader = ' '
 | 
					vim.g.mapleader = ' '
 | 
				
			||||||
vim.g.maplocalleader = ' '
 | 
					vim.g.maplocalleader = ' '
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Prime remaps:
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- J and K moves selected items up and down
 | 
				
			||||||
 | 
					vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
 | 
				
			||||||
 | 
					vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- J moves the line to previous line end and keeps the cursor in front
 | 
				
			||||||
 | 
					vim.keymap.set("n", "J", "mzJ`z")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Allow jumping UP and DOWN and keep the cursor in the middle
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<C-d>", "<C-d>zz")
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<C-u>", "<C-u>zz")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Allow search terms to stay in the middle
 | 
				
			||||||
 | 
					vim.keymap.set("n", "n", "nzzzv")
 | 
				
			||||||
 | 
					vim.keymap.set("n", "N", "Nzzzv")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- greatest remap ever
 | 
				
			||||||
 | 
					-- Delete highlighted word and paste from clipboard without replacing copy buffer
 | 
				
			||||||
 | 
					vim.keymap.set("x", "<leader>p", [["_dP]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- next greatest remap ever : asbjornHaland
 | 
				
			||||||
 | 
					vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>Y", [["+Y]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set({ "n", "v" }, "<leader>d", [["_d]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Remove Q
 | 
				
			||||||
 | 
					vim.keymap.set("n", "Q", "<nop>")
 | 
				
			||||||
 | 
					-- Ctrl + f create new tmux session
 | 
				
			||||||
 | 
					-- vim.keymap.set("n", "<C-f>", "<cmd>silent !tmux neww tmux-sessionizer<CR>")
 | 
				
			||||||
 | 
					-- vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Quick fix navigation / Quick fix ????? Lookup
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- [[ Install `lazy.nvim` plugin manager ]]
 | 
					-- [[ Install `lazy.nvim` plugin manager ]]
 | 
				
			||||||
--    https://github.com/folke/lazy.nvim
 | 
					--    https://github.com/folke/lazy.nvim
 | 
				
			||||||
--    `:help lazy.nvim.txt` for more info
 | 
					--    `:help lazy.nvim.txt` for more info
 | 
				
			||||||
| 
						 | 
					@ -88,7 +131,7 @@ require('lazy').setup({
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            -- Useful status updates for LSP
 | 
					            -- Useful status updates for LSP
 | 
				
			||||||
            -- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
 | 
					            -- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
 | 
				
			||||||
      { 'j-hui/fidget.nvim', opts = {} },
 | 
					            { 'j-hui/fidget.nvim', tag = 'legacy', opts = {} },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            -- Additional lua configuration, makes nvim stuff amazing!
 | 
					            -- Additional lua configuration, makes nvim stuff amazing!
 | 
				
			||||||
            'folke/neodev.nvim',
 | 
					            'folke/neodev.nvim',
 | 
				
			||||||
| 
						 | 
					@ -126,7 +169,8 @@ require('lazy').setup({
 | 
				
			||||||
                changedelete = { text = '~' },
 | 
					                changedelete = { text = '~' },
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            on_attach = function(bufnr)
 | 
					            on_attach = function(bufnr)
 | 
				
			||||||
        vim.keymap.set('n', '<leader>hp', require('gitsigns').preview_hunk, { buffer = bufnr, desc = 'Preview git hunk' })
 | 
					                vim.keymap.set('n', '<leader>hp', require('gitsigns').preview_hunk,
 | 
				
			||||||
 | 
					                    { buffer = bufnr, desc = 'Preview git hunk' })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                -- don't override the built-in and fugitive keymaps
 | 
					                -- don't override the built-in and fugitive keymaps
 | 
				
			||||||
                local gs = package.loaded.gitsigns
 | 
					                local gs = package.loaded.gitsigns
 | 
				
			||||||
| 
						 | 
					@ -229,12 +273,42 @@ require('lazy').setup({
 | 
				
			||||||
    --    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.
 | 
				
			||||||
    --
 | 
					    --
 | 
				
			||||||
    --    For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
 | 
					    --    For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
 | 
				
			||||||
  -- { import = 'custom.plugins' },
 | 
					    { import = 'custom.plugins' },
 | 
				
			||||||
}, {})
 | 
					}, {})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- [[ Setting options ]]
 | 
					-- [[ Setting options ]]
 | 
				
			||||||
-- See `:help vim.o`
 | 
					-- See `:help vim.o`
 | 
				
			||||||
-- NOTE: You can change these options as you wish!
 | 
					-- NOTE: You can change these options as you wish!
 | 
				
			||||||
 | 
					-- Set commands
 | 
				
			||||||
 | 
					-- vim.opt.guicursor = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.relativenumber = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.tabstop = 4
 | 
				
			||||||
 | 
					vim.opt.softtabstop = 4
 | 
				
			||||||
 | 
					vim.opt.shiftwidth = 4
 | 
				
			||||||
 | 
					vim.opt.expandtab = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.smartindent = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.wrap = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.swapfile = false
 | 
				
			||||||
 | 
					vim.opt.backup = false
 | 
				
			||||||
 | 
					vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
 | 
				
			||||||
 | 
					vim.opt.undofile = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.hlsearch = false
 | 
				
			||||||
 | 
					vim.opt.incsearch = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.termguicolors = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.scrolloff = 8
 | 
				
			||||||
 | 
					vim.opt.isfname:append("@-@")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.updatetime = 50
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.colorcolumn = "80"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Set highlight on search
 | 
					-- Set highlight on search
 | 
				
			||||||
vim.o.hlsearch = false
 | 
					vim.o.hlsearch = false
 | 
				
			||||||
| 
						 | 
					@ -289,6 +363,12 @@ vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnos
 | 
				
			||||||
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' })
 | 
					vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' })
 | 
				
			||||||
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' })
 | 
					vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set('n', '<leader>pv', vim.cmd.Ex)
 | 
				
			||||||
 | 
					vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
 | 
				
			||||||
 | 
					vim.keymap.set("i", "<C-q>", "<C-v>")
 | 
				
			||||||
 | 
					-- vim.keymap.set('n', '<C-q>', vim.cmd.V)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- [[ Highlight on yank ]]
 | 
					-- [[ Highlight on yank ]]
 | 
				
			||||||
-- See `:help vim.highlight.on_yank()`
 | 
					-- See `:help vim.highlight.on_yank()`
 | 
				
			||||||
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
 | 
					local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
 | 
				
			||||||
| 
						 | 
					@ -553,54 +633,83 @@ mason_lspconfig.setup_handlers {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- [[ Configure nvim-cmp ]]
 | 
					-- [[ Configure nvim-cmp ]]
 | 
				
			||||||
-- See `:help cmp`
 | 
					-- See `:help cmp`
 | 
				
			||||||
 | 
					vim.opt.completeopt = "menu,menuone,noselect"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local has_words_before = function()
 | 
				
			||||||
 | 
					    local line, col = unpack(vim.api.nvim_win_get_cursor(0))
 | 
				
			||||||
 | 
					    return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local cmp = require 'cmp'
 | 
					local cmp = require 'cmp'
 | 
				
			||||||
local luasnip = require 'luasnip'
 | 
					local luasnip = require 'luasnip'
 | 
				
			||||||
require('luasnip.loaders.from_vscode').lazy_load()
 | 
					cmp.setup({
 | 
				
			||||||
luasnip.config.setup {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
cmp.setup {
 | 
					 | 
				
			||||||
    snippet = {
 | 
					    snippet = {
 | 
				
			||||||
        expand = function(args)
 | 
					        expand = function(args)
 | 
				
			||||||
      luasnip.lsp_expand(args.body)
 | 
					            require('luasnip').lsp_expand(args.body)
 | 
				
			||||||
        end,
 | 
					        end,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  completion = {
 | 
					    mapping = {
 | 
				
			||||||
    completeopt = 'menu,menuone,noinsert'
 | 
					        ["<Tab>"] = cmp.mapping(function(fallback)
 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  mapping = cmp.mapping.preset.insert {
 | 
					 | 
				
			||||||
    ['<C-n>'] = cmp.mapping.select_next_item(),
 | 
					 | 
				
			||||||
    ['<C-p>'] = cmp.mapping.select_prev_item(),
 | 
					 | 
				
			||||||
    ['<C-d>'] = cmp.mapping.scroll_docs(-4),
 | 
					 | 
				
			||||||
    ['<C-f>'] = cmp.mapping.scroll_docs(4),
 | 
					 | 
				
			||||||
    ['<C-Space>'] = cmp.mapping.complete {},
 | 
					 | 
				
			||||||
    ['<CR>'] = cmp.mapping.confirm {
 | 
					 | 
				
			||||||
      behavior = cmp.ConfirmBehavior.Replace,
 | 
					 | 
				
			||||||
      select = true,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    ['<Tab>'] = cmp.mapping(function(fallback)
 | 
					 | 
				
			||||||
            if cmp.visible() then
 | 
					            if cmp.visible() then
 | 
				
			||||||
                cmp.select_next_item()
 | 
					                cmp.select_next_item()
 | 
				
			||||||
      elseif luasnip.expand_or_locally_jumpable() then
 | 
					            elseif luasnip.expand_or_jumpable() then
 | 
				
			||||||
                luasnip.expand_or_jump()
 | 
					                luasnip.expand_or_jump()
 | 
				
			||||||
 | 
					            elseif has_words_before() then
 | 
				
			||||||
 | 
					                cmp.complete()
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
                fallback()
 | 
					                fallback()
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
    end, { 'i', 's' }),
 | 
					        end, { "i", "s" }),
 | 
				
			||||||
    ['<S-Tab>'] = cmp.mapping(function(fallback)
 | 
					        ["<S-Tab>"] = cmp.mapping(function(fallback)
 | 
				
			||||||
            if cmp.visible() then
 | 
					            if cmp.visible() then
 | 
				
			||||||
                cmp.select_prev_item()
 | 
					                cmp.select_prev_item()
 | 
				
			||||||
      elseif luasnip.locally_jumpable(-1) then
 | 
					            elseif luasnip.jumpable(-1) then
 | 
				
			||||||
                luasnip.jump(-1)
 | 
					                luasnip.jump(-1)
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
                fallback()
 | 
					                fallback()
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
    end, { 'i', 's' }),
 | 
					        end, { "i", "s" }),
 | 
				
			||||||
 | 
					        ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
 | 
				
			||||||
 | 
					        ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
 | 
				
			||||||
 | 
					        ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
 | 
				
			||||||
 | 
					        ['<C-y>'] = cmp.config.disable,
 | 
				
			||||||
 | 
					        ['<C-e>'] = cmp.mapping({
 | 
				
			||||||
 | 
					            i = cmp.mapping.abort(),
 | 
				
			||||||
 | 
					            c = cmp.mapping.close(),
 | 
				
			||||||
 | 
					        }),
 | 
				
			||||||
 | 
					        ['<CR>'] = cmp.mapping.confirm({ select = true }),
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  sources = {
 | 
					    sources = cmp.config.sources({
 | 
				
			||||||
        { name = 'nvim_lsp' },
 | 
					        { name = 'nvim_lsp' },
 | 
				
			||||||
        { name = 'luasnip' },
 | 
					        { name = 'luasnip' },
 | 
				
			||||||
  },
 | 
					        { name = 'path' },
 | 
				
			||||||
}
 | 
					        { name = 'buffer' },
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Set configuration for specific filetype.
 | 
				
			||||||
 | 
					cmp.setup.filetype('gitcommit', {
 | 
				
			||||||
 | 
					    sources = cmp.config.sources({
 | 
				
			||||||
 | 
					        { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
 | 
				
			||||||
 | 
					    }, {
 | 
				
			||||||
 | 
					        { name = 'buffer' },
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
 | 
				
			||||||
 | 
					cmp.setup.cmdline('/', {
 | 
				
			||||||
 | 
					    sources = {
 | 
				
			||||||
 | 
					        { name = 'buffer' }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
 | 
				
			||||||
 | 
					cmp.setup.cmdline(':', {
 | 
				
			||||||
 | 
					    sources = cmp.config.sources({
 | 
				
			||||||
 | 
					        { name = 'path' }
 | 
				
			||||||
 | 
					    }, {
 | 
				
			||||||
 | 
					        { name = 'cmdline' }
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
-- The line beneath this is called `modeline`. See `:help modeline`
 | 
					-- The line beneath this is called `modeline`. See `:help modeline`
 | 
				
			||||||
-- vim: ts=2 sts=2 sw=2 et
 | 
					-- vim: ts=2 sts=2 sw=2 et
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,4 +2,7 @@
 | 
				
			||||||
--  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 {
 | 
				
			||||||
 | 
					    "mbbill/undotree",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue