let mapleader="," "Plug 'vim-airline/vim-airline' "Plug 'vim-airline/vim-airline-themes' " Plugins call plug#begin('~/.vim/plugged') Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'mbbill/undotree' Plug 'jiangmiao/auto-pairs' Plug 'preservim/nerdcommenter' Plug 'preservim/nerdtree' Plug 'prabirshrestha/vim-lsp' Plug 'prabirshrestha/asyncomplete.vim' Plug 'voldikss/vim-floaterm' call plug#end() set t_Co=256 set background=dark " Some basics: "set bg=light set go=a set mouse=a set nohlsearch set clipboard=unnamedplus set tabstop=4 set softtabstop=4 set shiftwidth=4 nnoremap c "_c set nocompatible filetype plugin indent on set encoding=utf-8 set number set relativenumber set ruler syntax on colo desert set hidden " Enable autocompletion: set wildmode=longest,list,full " Previous / next buffer noremap :bprevious noremap :bnext noremap w :w :bp :bd # " Airline let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#fnamemod = ':t' let g:airline_detect_modified = 1 let g:airline_detect_paste = 1 let g:airline_detect_crypt = 1 let g:airline_theme = 'base16' "let g:airline_powerline_fonts = 1 let g:airline_symbols_ascii = 1 let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]' " Cursor mode " let g:airline#extensions#cursormode#enabled = 1 " let g:cursormode_color_map = { " \ "i": "#7da9c7", " \ "n": "#eac179", " \ "R": "#bb5653", " \ "r": "#bb5653", " \ "v": "#b06597", " \ "V": "#b06597", " \ "\": "#b06597", " \} " Disables automatic commenting on newline: autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o " Powerline set laststatus=2 set t_Co=256 " Runs a script that cleans out tex build files whenever I close out of a .tex file. autocmd VimLeave *.tex !texclear % " Floaterm nnoremap :FloatermNew " Startify let g:startify_custom_header_quotes = [ \ ['Hey man'], \ ['How are you ?'], \ ['Happy coding'], \] "CCLS /LSP " Register rust-analyzer as rust language server if executable('/home/salad/.emacs.d/.local/etc/lsp/rust/rust-analyzer') au User lsp_setup call lsp#register_server({ \ 'name': 'Rust Language Server', \ 'cmd': {server_info->['/home/salad/.emacs.d/.local/etc/lsp/rust/rust-analyzer']}, \ 'whitelist': ['rust'], \ }) endif " Register ccls as C/C++ lanuage server. if executable('ccls') au User lsp_setup call lsp#register_server({ \ 'name': 'ccls', \ 'cmd': {server_info->['ccls']}, \ 'root_uri': {server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), '.ccls'))}, \ 'initialization_options': {'cache': {'directory': '/tmp/ccls/cache' }}, \ 'whitelist': ['c', 'cpp', 'objc', 'objcpp', 'cc'], \ }) endif nn :LspDefinition nn :LspReferences nn :LspRename nn :LspWorkspaceSymbol nn :LspDocumentSymbol " Compile document, be it groff/LaTeX/markdown/etc. "map c :w! \| !compiler % autocmd BufWritePost *.tex !compiler % " Compile C file noremap :w :!make -j5 ASAN=1; noremap :w :!./cub3d "map/map_one.cub"; ret=$?; echo "~> $ret\n\n.vimrc 3.0-release Tilde Edition by Joe\n"; autocmd FileType c noremap :w:!gcc-Wall-Wextra-Werror % autocmd FileType c noremap :w :!clear :!~/.vim/c/f9.sh % autocmd FileType c noremap :w :!clear :!~/.vim/c/f10.sh % " Compile C++ file autocmd FileType cpp noremap :w:!g++-Wall-Wextra-Werror % autocmd FileType cpp noremap :w :!clear :!~/.vim/cpp/f9.sh % autocmd FileType cpp noremap :w :!clear :!~/.vim/cpp/f10.sh % " === Comfy === autocmd FileType c nnoremap m o#include#include#include#includeintmain(void){return0;}O autocmd FileType c nnoremap M o#include#include#include#includeintmain(intargc,char*argv[]){if(argc!=1){printf("NOTENOUGHARGS\n");return1;}return0;}Oprintf(); " C++ autocmd FileType cpp noremap :w:!g++-Wall-Wextra-Werror -O3 % autocmd FileType cpp noremap :w:!g++ -Wall -Wextra -Werror -O3 %; ./a.out ; echo "~>\n\n.vimrc 2.3.1-release Tilde Edition by Joe"; rm a.out autocmd FileType cpp noremap :w:!g++ -Wall -Wextra -Werror -O3 %; ./a.out; echo "~>\n\n.vimrc 2.3.1-release Tilde Edition by Joe"; rm a.out autocmd FileType cpp nnoremap m ointmain(void){return0;}O autocmd FileType cpp nnoremap M ointmain(intargc,char*argv[]){if(argc!=1)return0;if(argv[]){}return0;}O autocmd FileType cpp nnoremap M ointmain(intargc,char*argv[]){if(argc!=1){cout<<"NOTENOUGHARGS"<<endl;return1;}return0;}O