init.vim 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. syntax on
  2. filetype plugin indent on
  3. " Plugins
  4. call plug#begin('~/.vim/plugged')
  5. Plug 'chriskempson/base16-vim'
  6. Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " We recommend updating the parsers on update
  7. Plug 'neovim/nvim-lspconfig'
  8. Plug 'nvim-lua/completion-nvim'
  9. Plug 'kaicataldo/material.vim', { 'branch': 'main' }
  10. call plug#end()
  11. " General vim configurations
  12. set relativenumber
  13. set colorcolumn=80
  14. set updatetime=50
  15. set tabstop=4 softtabstop=4
  16. set expandtab
  17. set smartindent
  18. set completeopt=menuone,noinsert,noselect
  19. " Lsp configuration for multiple languages
  20. lua require'lspconfig'.rust_analyzer.setup({})
  21. lua require'lspconfig'.gopls.setup{on_attach=require'completion'.on_attach}
  22. lua require'lspconfig'.bashls.setup{}
  23. lua require'lspconfig'.jsonls.setup{}
  24. lua require'lspconfig'.jedi_language_server.setup{}
  25. " Use <Tab> and <S-Tab> to navigate through popup menu
  26. inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
  27. inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
  28. " Avoid showing message extra message when using completion
  29. set shortmess+=c
  30. " Theme settings
  31. " https://github.com/kaicataldo/material.vim
  32. if (has('termguicolors'))
  33. set termguicolors
  34. endif
  35. let g:material_theme_style = 'darker'
  36. colorscheme material
  37. " Tree-sitter config
  38. lua require'nvim-treesitter.configs'.setup { highlight = { enable = true } }