* chore(defaults.lua): add new options for vim
* feat(keymaps.lua): add new keymaps for various actions * feat(treesitter.lua): add treesitter configuration for terraform language * chore(init.lua): comment out unused keymap for signature help * feat(plugins): add undotree plugin * feat(plugins): add lsp_signature plugin and setup configuration
This commit is contained in:
		
							parent
							
								
									049d71cf0f
								
							
						
					
					
						commit
						d20aea7ca4
					
				| 
						 | 
					@ -2,3 +2,9 @@ vim.opt.relativenumber = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
vim.opt.expandtab = true
 | 
					vim.opt.expandtab = true
 | 
				
			||||||
vim.opt.smarttab = true
 | 
					vim.opt.smarttab = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.incsearch = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.scrolloff = 8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.colorcolumn = "80"
 | 
				
			||||||
| 
						 | 
					@ -22,4 +22,38 @@ keymap("n", "<C-k>", "<C-w>k", opts)
 | 
				
			||||||
keymap("n", "<C-l>", "<C-w>l", opts)
 | 
					keymap("n", "<C-l>", "<C-w>l", opts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Nvimtree
 | 
					-- Nvimtree
 | 
				
			||||||
keymap('n', '<leader>n', ":NvimTreeToggle<cr>", {silent = true, noremap = true})
 | 
					keymap('n', '<leader>n', ":NvimTreeToggle<cr>", {silent = true, noremap = true, desc = "Toggle [N]vimtree"})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- UndoTree
 | 
				
			||||||
 | 
					keymap('n', '<leader>u', ":UndotreeToggle<cr>", { desc = "Toggle [U]ndo tree" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Move line
 | 
				
			||||||
 | 
					keymap('v', 'J', ":m '>+1<CR>gv=gv", {noremap = true})
 | 
				
			||||||
 | 
					keymap('v', 'K', ":m '<-2<CR>gv=gv", {noremap = true})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Search cursor in the middle
 | 
				
			||||||
 | 
					keymap('n', 'n', "nzzzv")
 | 
				
			||||||
 | 
					keymap('n', 'N', "Nzzzv")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- replace without copy current selected
 | 
				
			||||||
 | 
					keymap('x', '<leader>p', "\"_dp")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- yank to system clipboard
 | 
				
			||||||
 | 
					keymap('n', '<leader>y', "\"+y", { desc = "[Y]ank to clipboard" })
 | 
				
			||||||
 | 
					keymap('v', '<leader>y', "\"+y", { desc = "[Y]ank to clipboard" })
 | 
				
			||||||
 | 
					keymap('n', '<leader>Y', "\"+Y", { desc = "[Y]ank to clipboard" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Quickfix
 | 
				
			||||||
 | 
					keymap('n', "<C-k>", "<cmd>cnext<CR>zz")
 | 
				
			||||||
 | 
					keymap('n', "<C-j>", "<cmd>cprev<CR>zz")
 | 
				
			||||||
 | 
					keymap('n', "<leader>k", "<cmd>lnext<CR>zz")
 | 
				
			||||||
 | 
					keymap('n', "<leader>j", "<cmd>lprev<CR>zz")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- replace selected word in the file
 | 
				
			||||||
 | 
					keymap("n", "<leader>R", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], { desc = "[R]eplace words in the file" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Make file executable
 | 
				
			||||||
 | 
					keymap("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true, desc = "Make [X]ecutable file" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Do nothing
 | 
				
			||||||
 | 
					keymap("n", "Q", "<nop>")
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,5 @@
 | 
				
			||||||
 | 
					require('nvim-treesitter.configs').setup {
 | 
				
			||||||
 | 
					    -- Add languages to be installed here that you want installed for treesitter
 | 
				
			||||||
 | 
					    ensure_installed = {'terraform'},
 | 
				
			||||||
 | 
					    auto_install = true
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										2
									
								
								init.lua
								
								
								
								
							| 
						 | 
					@ -389,7 +389,7 @@ local on_attach = function(_, bufnr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  -- See `:help K` for why this keymap
 | 
					  -- See `:help K` for why this keymap
 | 
				
			||||||
  nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
 | 
					  nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
 | 
				
			||||||
  nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
 | 
					  -- nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  -- Lesser used LSP functionality
 | 
					  -- Lesser used LSP functionality
 | 
				
			||||||
  nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
 | 
					  nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,4 +4,5 @@
 | 
				
			||||||
-- See the kickstart.nvim README for more information
 | 
					-- See the kickstart.nvim README for more information
 | 
				
			||||||
return {
 | 
					return {
 | 
				
			||||||
  'fatih/vim-go',
 | 
					  'fatih/vim-go',
 | 
				
			||||||
 | 
					  'mbbill/undotree'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					return {
 | 
				
			||||||
 | 
					    'ray-x/lsp_signature.nvim',
 | 
				
			||||||
 | 
					    config = function() 
 | 
				
			||||||
 | 
					        require('lsp_signature').setup {}
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue