syntax on filetype plugin indent on " Plugins call plug#begin('~/.vim/plugged') Plug 'chriskempson/base16-vim' Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " We recommend updating the parsers on update Plug 'neovim/nvim-lspconfig' Plug 'nvim-lua/completion-nvim' Plug 'kaicataldo/material.vim', { 'branch': 'main' } Plug 'nvim-lua/popup.nvim' Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim' Plug 'neovim/nvim-lspconfig' Plug 'simrat39/rust-tools.nvim' Plug 'mfussenegger/nvim-dap' Plug 'itchyny/lightline.vim' Plug 'joshdick/onedark.vim' call plug#end() lua require('init') " General vim configurations set relativenumber set colorcolumn=80 set updatetime=50 set tabstop=4 softtabstop=4 set expandtab set smartindent set completeopt=menuone,noinsert,noselect set noswapfile set nobackup set scrolloff=8 set signcolumn=yes set nowrap set nu set hidden set undodir=~/.config/nvim/undodir set undofile " Theme settings " https://github.com/kaicataldo/material.vim if (has('termguicolors')) set termguicolors endif let g:material_theme_style = 'darker' colorscheme material " Lsp configuration for multiple languages lua require'lspconfig'.bashls.setup{} lua require'lspconfig'.jsonls.setup{} lua require'lspconfig'.gopls.setup{ on_attach=require'completion'.on_attach } lua require'lspconfig'.clangd.setup{ on_attach=require'completion'.on_attach } lua require('rust-tools').setup({}) " auto complete matching strategy let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy'] " Use and to navigate through popup menu inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? "\" : "\" " Avoid showing message extra message when using completion set shortmess+=c " Tree-sitter config lua require'nvim-treesitter.configs'.setup { highlight = { enable = true } } " keyboard shortcut options let mapleader = " " nnoremap n gt nnoremap m gT " Telescope shortcuts nnoremap ff Telescope find_files nnoremap fg Telescope live_grep nnoremap fb Telescope buffers nnoremap fh Telescope help_tags