call plug#begin() " NERDTree stuff Plug 'nvim-tree/nvim-web-devicons' " optional, for file icons Plug 'nvim-tree/nvim-tree.lua' " neovim lsp plugins and depencencies Plug 'neovim/nvim-lspconfig' Plug 'hrsh7th/cmp-nvim-lsp' Plug 'hrsh7th/cmp-buffer' Plug 'hrsh7th/nvim-cmp' Plug 'williamboman/mason.nvim' Plug 'williamboman/mason-lspconfig.nvim' Plug 'mfussenegger/nvim-lint' Plug 'onsails/lspkind.nvim' " various plugins Plug 'lewis6991/gitsigns.nvim' Plug 'petertriho/nvim-scrollbar' Plug 'kevinhwang91/nvim-hlslens' Plug 'windwp/nvim-ts-autotag' Plug 'hrsh7th/cmp-path' Plug 'L3MON4D3/LuaSnip', {'tag': '*'} Plug 'saadparwaiz1/cmp_luasnip' Plug 'lambdalisue/suda.vim' Plug 'akinsho/bufferline.nvim', { 'tag': '*' } Plug 'gorbit99/codewindow.nvim' Plug 'preservim/nerdcommenter' Plug 'rmagatti/auto-session' Plug 'tpope/vim-fugitive' Plug 'Glench/Vim-Jinja2-Syntax' Plug 'vmware-archive/salt-vim' Plug 'nvim-lualine/lualine.nvim' Plug 'itchyny/vim-cursorword' Plug 'sheerun/vim-polyglot' " themes Plug 'folke/tokyonight.nvim', { 'branch': 'main' } Plug 'olimorris/onedarkpro.nvim' Plug 'ellisonleao/gruvbox.nvim' Plug 'Mofiqul/dracula.nvim' Plug 'vigoux/oak' Plug 'NLKNguyen/papercolor-theme' Plug 'bluz71/vim-moonfly-colors' Plug 'luisiacc/gruvbox-baby' Plug 'catppuccin/nvim' Plug 'EdenEast/nightfox.nvim' Plug 'projekt0n/github-nvim-theme' "Fuzzy search by Telescope and its dependencies: Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim', { 'branch': '0.1.x' } Plug 'BurntSushi/ripgrep' Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} call plug#end() " set termguicolors before lua config, " as it can contain some theme stuff that " checks for termguicolors set termguicolors " load main lua file with additional configs lua require("general") lua require("my-lspconfig") lua require("my-lint") " highlight all .conf files as apache config (:]) autocmd BufEnter *.conf :setlocal filetype=apache "nerdtree bindings nnoremap n :NvimTreeFocus nnoremap :NvimTreeToggle " nerdcommenter custom bindings nmap NERDCommenterToggle vmap NERDCommenterToggle "theme configuration syntax enable colorscheme gruvbox set splitright set splitbelow " indent/unindent with tab/shift-tab nmap >> nmap << imap < >gv vmap ff Telescope find_files nnoremap fg Telescope live_grep nnoremap fb Telescope buffers nnoremap fh Telescope help_tags " general configs set modeline set encoding=UTF-8 set showmatch " show matching set ignorecase " case insensitive set mouse=v " middle-click paste with set hlsearch " highlight search set incsearch " incremental search set tabstop=4 " number of columns occupied by a tab set softtabstop=4 " see multiple spaces as tabstops so does the right thing set expandtab " converts tabs to white space set shiftwidth=4 " width for autoindents set autoindent " indent a new line the same amount as the line just typed set number " add line numbers set relativenumber " add relative line numbers set wildmode=longest,list " get bash-like tab completions set cc=80 " set an 80 column border for good coding style filetype plugin indent on "allow auto-indenting depending on file type syntax on " syntax highlighting "set mouse=a " enable mouse click set clipboard+=unnamedplus " using system clipboard filetype plugin on set cursorline " highlight current cursorline set ttyfast " Speed up scrolling in Vim " set spell " enable spell check (may need to download language package) set noswapfile " disable creating swap file " set backupdir=~/.cache/vim " Directory to store backup files.