set nocompatible " be iMproved, required filetype on " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install bundles "let path = '~/some/path/here' "call vundle#rc(path) " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' "Plugin 'zah/nim.vim' Plugin 'scrooloose/syntastic' Plugin 'w0ng/vim-hybrid' Plugin 'rust-lang/rust.vim' Plugin 'fatih/vim-go' Plugin 'udalov/kotlin-vim' "Plugin 'Valloric/YouCompleteMe' "Plugin 'phanviet/vim-monokai-pro' "Plugin 'wincent/command-t' Plugin 'cespare/vim-toml' Plugin 'sirver/UltiSnips' Plugin 'honza/vim-snippets' Plugin 'junegunn/fzf' Plugin 'ervandew/supertab' " rp call thing for auto completion with language servers Plugin 'roxma/nvim-yarp' " language client stuff Plugin 'autozimu/LanguageClient-neovim' Plugin 'ncm2/ncm2' Plugin 'ncm2/ncm2-jedi' Plugin 'ncm2/ncm2-racer' Plugin 'ncm2/ncm2-ultisnips' "Plugin 'zxqfl/tabnine-vim' let g:go_def_mode='gopls' let g:go_info_mode='gopls' call vundle#end() " required "set rtp+=~/code/tabnine-vim filetype plugin on autocmd BufNewFile,BufRead *.vpy setfiletype python autocmd BufNewFile,BufRead *.kt set ft=kotlin " for ncm2 completion autocmd BufEnter * call ncm2#enable_for_buffer() set completeopt=noinsert,menuone,noselect "inoremap (pumvisible() ? "\" : "\") "inoremap (pumvisible() ? "\\" : "\") "inoremap pumvisible() ? "\" : "\" " Required for operations modifying multiple buffers like rename. set hidden let g:LanguageClient_serverCommands = { \ 'rust': ['rustup', 'run', 'nightly', 'rls'], \ 'haskell': ['hie-wrapper'], \ 'python': ['/usr/bin/pyls'], \ 'go': ['gopls'], \ 'kotlin': ['/usr/bin/kotlin-language-server'], \ 'c': ['/usr/bin/ccls'], \ } nnoremap :call LanguageClient_contextMenu() " Or map each action separately nnoremap K :call LanguageClient#textDocument_hover() nnoremap gd :call LanguageClient#textDocument_definition() nnoremap :call LanguageClient#textDocument_rename() set number set showmatch set hlsearch set ignorecase set smartcase set incsearch set autoindent set cindent set expandtab set shiftwidth=4 set smartindent set smarttab set softtabstop=4 set relativenumber " set beam cursor in insert mode let &t_SI = "\[5 q" let &t_SR = "\[5 q" let &t_EI = "\[2 q" set autochdir set undolevels=1000 set backspace=indent,eol,start let g:hybrid_custom_term_colors = 1 let g:hybrid_reduced_contrast = 1 set background=dark let &t_8f = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" let g:autofmt_autosave = 1 set termguicolors colorscheme hybrid syntax on let g:netrw_liststyle = 3 let g:netrw_banner = 0 let g:netrw_browse_split = 4 let g:netrw_winsize = 25 nmap :Vexplore set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:syntastic_always_populate_loc_list = 0 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 0 let g:syntastic_check_on_wq = 0 let g:syntastic_check_on_write = 0 let g:syntastic_mode_map = { 'mode': 'passive' } nmap :SyntasticCheck nnoremap j nnoremap k "nnoremap l nnoremap h set splitbelow set splitright