diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2023-05-05 09:46:31 +0530 | 
|---|---|---|
| committer | Raghuram Subramani <raghus2247@gmail.com> | 2023-05-05 09:46:31 +0530 | 
| commit | ace6907e4c0ab04aea19b35f0437d6dfd076c298 (patch) | |
| tree | a7c5249d7010231757f3dba601bb14daba6d7b7e /.config/nvim/init.lua | |
| parent | a58bba1390893eb96a44eb6c47962bbfa09ed846 (diff) | |
update nvim conf
Diffstat (limited to '')
| -rw-r--r-- | .config/nvim/init.lua | 177 | 
1 files changed, 95 insertions, 82 deletions
| diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 0c3e8e3..fe23e50 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -8,41 +8,54 @@ vim.opt.wrap = true  vim.opt.breakindent = true  vim.opt.tabstop = 2  vim.opt.shiftwidth = 2 -vim.opt.expandtab = false -vim.opt.keymodel = 'startsel','stopsel' +vim.opt.expandtab = true  vim.opt.termguicolors = true  vim.opt.ww = "<,>,[,]" +vim.api.nvim_set_option("clipboard","unnamedplus") +vim.opt.ruler = false + +-- Reset Cursor On Exit +local au_id = vim.api.nvim_create_augroup("RestoreCursorShapeOnExit", {clear = true}) +vim.api.nvim_create_autocmd("VimLeave",{ +  command = 'set guicursor=a:ver20', +  group = au_id +})  -- Setup Packages  require('packer').startup(function(use)  	use 'wbthomason/packer.nvim' -	use 'navarasu/onedark.nvim'  	use 'lukas-reineke/indent-blankline.nvim'  	use 'jiangmiao/auto-pairs'  	use 'kyazdani42/nvim-tree.lua' -	use 'editorconfig/editorconfig-vim' -	use 'neovim/nvim-lspconfig' -	use 'hrsh7th/nvim-cmp' -	use 'hrsh7th/vim-vsnip' -	use 'hrsh7th/cmp-nvim-lsp' -	use 'mhinz/vim-startify' +  use { +		'numToStr/Comment.nvim', +		config = function() +      require('Comment').setup { +        padding = true, +        toggler = { +          line = '..' +        } +      } +		end +	} -	use {'akinsho/bufferline.nvim', tag = "v3.*", requires = 'nvim-tree/nvim-web-devicons'} +  use 'kvrohit/mellow.nvim' +	use 'mhinz/vim-startify' +  use { +    'nvim-lualine/lualine.nvim', +    requires = { 'nvim-tree/nvim-web-devicons' } +  } +	use {'akinsho/bufferline.nvim', tag = "*", requires = 'nvim-tree/nvim-web-devicons'} -	use { -	'nvim-lualine/lualine.nvim', -	requires = { 'kyazdani42/nvim-web-devicons', opt = true } -	} -	use { +	use 'hrsh7th/cmp-nvim-lsp' +	use 'hrsh7th/nvim-cmp' +	use 'neovim/nvim-lspconfig' +  use 'hrsh7th/cmp-nvim-lsp-signature-help' +  use {  		'nvim-telescope/telescope.nvim',  		requires = { {'nvim-lua/plenary.nvim'}}  	} -	use { -		'numToStr/Comment.nvim', -		config = function() -		require('Comment').setup() -		end -	} +  	if install_plugins then  		require('packer').sync()  	end @@ -52,35 +65,29 @@ if install_plugins then    return  end ---Keymaps - -vim.keymap.set('n', ',,', '<cmd>NvimTreeToggle<cr>') -vim.keymap.set('n', '<space><space>', '<cmd>Telescope buffers<cr>') - -vim.keymap.set('n', 'nn', '<cmd>bnext<cr>') -vim.keymap.set('n', 'bb', '<cmd>bprev<cr>') - -vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>') -vim.keymap.set('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>') -vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>') -vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>') +-- Color Scheme +vim.cmd [[colorscheme mellow]] -vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>') -vim.keymap.set('n', 'C-k', '<cmd>lua vim.lsp.buf.signature_help()<cr>') -vim.keymap.set('n', 'C-p', '<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>') -vim.keymap.set('n', 'C-n', '<cmd>lua vim.lsp.diagnostic.goto_next()<cr>') - -vim.keymap.set('n', 'tt', '<cmd>tab ter<cr>') - -require('onedark').setup { -	style = 'warmer' +require('lualine').setup { +  options = { +    section_separators = { left = '', right = '' }, +    component_separators = { left = '|', right = '|' } +  }, +  sections = { +    lualine_a = {'mode'}, +    lualine_b = {'branch', 'diff', 'diagnostics'}, +    lualine_c = {'filename'}, +    lualine_x = {'filetype'}, +  }  } -require('onedark').load() -require('lualine').setup { -	options = { -		theme = 'onedark' -	} +require('nvim-tree').setup { +  hijack_cursor = true, +  actions = { +    open_file = { +      quit_on_open = true, +    } +  }  }  require('bufferline').setup { @@ -115,29 +122,9 @@ require('Comment').setup {  		}  } --- Nvim-Tree Setup -require('nvim-tree').setup { -  hijack_cursor = false, -  on_attach = function(bufnr) -    local bufmap = function(lhs, rhs, desc) -      vim.keymap.set('n', lhs, rhs, {buffer = bufnr, desc = desc}) -    end - -    local api = require('nvim-tree.api') -    bufmap('L', api.node.open.edit, 'Expand folder or go to file') -    bufmap('H', api.node.navigate.parent_close, 'Close parent folder') -    bufmap('gh', api.tree.toggle_hidden_filter, 'Toggle hidden files') -  end -} -  -- CMP Setup  local cmp = require'cmp'  cmp.setup({ -	snippet = { -		expand = function(args) -			vim.fn["vsnip#anonymous"](args.body) -		end, -	},  	window = {  		completion = cmp.config.window.bordered(),  		documentation = cmp.config.window.bordered(), @@ -146,15 +133,14 @@ cmp.setup({  		['<C-b>'] = cmp.mapping.scroll_docs(-4),  		['<C-f>'] = cmp.mapping.scroll_docs(4),  		['<C-Space>'] = cmp.mapping.complete(), -		['<C-e>'] = cmp.mapping.abort(),  		['<TAB>'] = cmp.mapping.confirm({ select = true }),  	}),  	sources = cmp.config.sources({ -		{ name = 'nvim_lsp' }, -		{ name = 'vsnip' }, -	}, { -		{ name = 'buffer' }, -	}) +      { name = 'nvim_lsp' } +    }, { +      { name = 'buffer' }, +    } +  )  })  cmp.setup.filetype('gitcommit', {  	sources = cmp.config.sources({ @@ -179,14 +165,41 @@ cmp.setup.cmdline(':', {  })  -- Set Up Lspconfig +local lspconfig = require('lspconfig')  local capabilities = require('cmp_nvim_lsp').default_capabilities() -require('lspconfig')['pyright'].setup { -	capabilities = capabilities -} +servers = { 'pyright' } +for _, lsp in pairs(servers) do +  lspconfig[lsp].setup { +    capabilities = capabilities +  } +end --- Reset Cursor On Exit -local au_id = vim.api.nvim_create_augroup("RestoreCursorShapeOnExit", {clear = true}) -vim.api.nvim_create_autocmd("VimLeave",{ -  command = 'set guicursor=a:ver20', -  group = au_id -}) +-- Keyboard Shortcuts +vim.keymap.set('n', 'P', '<cmd>pu<cr>', { noremap = true }) + +vim.keymap.set('n', ',,', '<cmd>NvimTreeToggle<cr>', { noremap = true }) +vim.keymap.set('n', '<space><space>', '<cmd>Telescope find_files<cr>', { noremap = true }) +vim.keymap.set('n', '<space>b', '<cmd>Telescope buffers<cr>', { noremap = true }) +vim.keymap.set('n', '<space>f', '<cmd>Telescope live_grep<cr>', { noremap = true }) + +vim.keymap.set('n', 'nn', '<cmd>bnext<cr>', { noremap = true }) +vim.keymap.set('n', 'bb', '<cmd>bprev<cr>', { noremap = true }) +vim.keymap.set('n', 'cw', '<cmd>bdelete!<cr>', { noremap = true }) + + +vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true }) +vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { noremap = true }) +vim.keymap.set('n', 'gr', vim.lsp.buf.references, { noremap = true }) + +vim.keymap.set('n', 'K', vim.lsp.buf.hover, { noremap = true }) + +vim.keymap.set('n', 'tt', '<cmd>tab ter<cr>', { noremap = true }) + +-- Splitting The Window +vim.api.nvim_set_keymap('n', '<C-x>|', ':vsplit<CR>', { noremap = true }) +vim.api.nvim_set_keymap('n', '<C-x>-', ':split<CR>', { noremap = true }) + +vim.api.nvim_set_keymap('n', '<C-x><Left>', '<C-w>h', { noremap = true }) +vim.api.nvim_set_keymap('n', '<C-x><Down>', '<C-w>j', { noremap = true }) +vim.api.nvim_set_keymap('n', '<C-x><Up>', '<C-w>k', { noremap = true }) +vim.api.nvim_set_keymap('n', '<C-x><Right>', '<C-w>l', { noremap = true }) | 
