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 '.config/nvim/init.lua')
| -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 }) |
