filetype plugin indent on set tabstop=4 set shiftwidth=4 set scrolloff=1 set expandtab set smartindent set autoindent set cursorline set number set rnu set nowrap set inccommand=split set updatetime=100 set mouse+=a " File settings au BufReadPost,BufNewFile *.md setlocal tw=80 | PencilHard | nnoremap :MarkdownPreview au BufReadPost,BufNewFile *.tex nnoremap :w:!pdflatex main.tex au BufReadPost,BufNewFile *.md,*.tex setlocal spell | set spelllang=en_US | inoremap u[s1z=`]au au BufReadPost,BufNewFile *.js,*.ts set sw=2 | set ts=2 " nnoremap : ; " nnoremap ; : nnoremap : tnoremap nmap z :Goyo 80 nmap q :Goyo! nnoremap :RainbowToggle nnoremap sj:resize 20:terminal " Telescope nnoremap :Telescope find_files nnoremap d :Telescope live_grep nnoremap u :Telescope lsp_definitions nnoremap e :Telescopegit_ nnoremap h :Telescope " lsp nnoremap s :lua vim.lsp.diagnostic.show_line_diagnostics() nnoremap h :lua vim.lsp.buf.hover() nnoremap c :lua vim.lsp.buf.code_action() nnoremap r :lua vim.lsp.buf.rename() " Tree nnoremap :NvimTreeToggle " Barbar nnoremap J :BufferPrevious nnoremap K :BufferNext nnoremap :BufferMovePrevious nnoremap :BufferMoveNext nnoremap q :BufferClose " Git Signs nnoremap b :lua require"gitsigns".blame_line() call plug#begin('~/.config/nvim/plugged') Plug 'wbthomason/packer.nvim' Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} Plug 'ayu-theme/ayu-vim' Plug 'lewis6991/gitsigns.nvim', {'branch': 'main'} Plug 'vim-airline/vim-airline' Plug 'mattn/emmet-vim' Plug 'reedes/vim-pencil' Plug 'nvim-lua/popup.nvim' Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim' Plug 'neovim/nvim-lspconfig' Plug 'hrsh7th/nvim-compe' Plug 'junegunn/goyo.vim' Plug 'junegunn/limelight.vim' Plug 'camspiers/animate.vim' Plug 'Yggdroot/indentLine' Plug 'frazrepo/vim-rainbow' Plug 'kyazdani42/nvim-web-devicons' Plug 'kyazdani42/nvim-tree.lua' Plug 'romgrk/barbar.nvim' Plug 'elkowar/yuck.vim' Plug 'SirVer/ultisnips' Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' } call plug#end() " VimTex let g:tex_flavor='latex' let g:vimtex_view_method='zathura' let g:vimtex_quickfix_mode=0 set conceallevel=0 " Ultisnips let g:UltiSnipsExpandTrigger = '' let g:UltiSnipsJumpForwardTrigger = '' let g:UltiSnipsJumpBackwardTrigger = '' let g:UltiSnipsSnippetDirectories=[$HOME.'/.config/nvim/UltiSnips'] " Markdown Preview let g:mkdp_auto_close = 0 let g:mkdp_browser = 'surf' " Compe let g:compe = {} let g:compe.enabled = v:true let g:compe.autocomplete = v:true let g:compe.debug = v:false let g:compe.min_length = 1 let g:compe.preselect = 'enable' let g:compe.throttle_time = 80 let g:compe.source_timeout = 200 let g:compe.incomplete_delay = 400 let g:compe.max_abbr_width = 100 let g:compe.max_kind_width = 100 let g:compe.max_menu_width = 100 let g:compe.documentation = v:true let g:compe.source = {} let g:compe.source.path = v:true let g:compe.source.buffer = v:true let g:compe.source.calc = v:true let g:compe.source.nvim_lsp = v:true let g:compe.source.nvim_lua = v:true let g:compe.source.vsnip = v:true let g:compe.source.ultisnips = v:true " gitsigns lua << EOF require('gitsigns').setup { signs = { add = {hl = 'GitSignsAdd', text = '+', numhl='GitSignsAddNr', linehl='GitSignsAddLn' }, change = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn' }, delete = {hl = 'GitSignsDelete', text = '-', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn' }, topdelete = {hl = 'GitSignsDelete', text = '-', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn' }, changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn' }, } } EOF " indentLine let g:indentLine_char = '⎸' let g:indentLine_setConceal = 0 " Tree let g:nvim_tree_width = 35 lua << EOF require'lspconfig'.rust_analyzer.setup{} EOF lua << EOF require'lspconfig'.ccls.setup{ init_options = { cache = { directory = "/home/priime/.cache/ccls/"; } } } EOF lua << EOF require'lspconfig'.tsserver.setup{} EOF lua << EOF require'lspconfig'.java_language_server.setup{ cmd = { "/usr/share/java/java-language-server/lang_server_linux.sh" } } EOF lua << EOF require 'nvim-treesitter.configs'.setup { highlight = { enable = true, }, } EOF lua << EOF require'lspconfig'.vuels.setup{ on_attach = function(client) client.resolved_capabilities.document_formatting = true end; } EOF lua << EOF require'lspconfig'.racket_langserver.setup{} EOF fun! Start() " Don't run if: we have commandline arguments, we don't have an empty " buffer, if we've not invoked as vim or gvim, or if we'e start in insert mode if argc() || line2byte('$') != -1 || v:progname !~? '^[-gmnq]\=vim\=x\=\%[\.exe]$' || &insertmode return endif " Start a new buffer ... enew " ... and set some options for it setlocal \ bufhidden=wipe \ buftype=nofile \ nobuflisted \ nocursorcolumn \ nocursorline \ nolist \ nonumber \ noswapfile \ norelativenumber " Now we can just write to the buffer, whatever you want. call append('$', "") for line in split(system('cat /home/priime/.config/nvim/startscreen.vimstart'), '\n') call append('$', '' . l:line) endfor " No modifications to this buffer setlocal nomodifiable nomodified " When we go to insert mode start a new buffer, and start insert nnoremap e :enew nnoremap i :enew startinsert nnoremap o :enew startinsert " simple " set syntax=erlang " red leaves " set syntax=html " blue leaves set syntax=yaml endfun " Run after "doing all the startup stuff" autocmd VimEnter * call Start() syntax on set termguicolors set t_Co=256 let ayucolor="dark" colorscheme ayu