let mapleader="," "Plug 'vim-airline/vim-airline' "Plug 'vim-airline/vim-airline-themes' " Plugins call plug#begin('~/.vim/plugged') 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 = 'term' " 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 ccls 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 === " C "autocmd FileType c inoremap " "" "autocmd FileType c inoremap ' '' "autocmd FileType c inoremap ( () "autocmd FileType c inoremap [ [] "autocmd FileType c inoremap { {} "autocmd FileType c inoremap < <> "autocmd FileType c inoremap { {}O "autocmd FileType c inoremap {; {};O "autocmd FileType c inoremap < < "autocmd FileType c inoremap > > "autocmd FileType c inoremap <= <= 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 inoremap " "" ""autocmd FileType cpp inoremap ' '' ""autocmd FileType cpp inoremap ( () ""autocmd FileType cpp inoremap [ [] ""autocmd FileType cpp inoremap { {} ""autocmd FileType cpp inoremap < <> ""autocmd FileType cpp inoremap { {}O ""autocmd FileType cpp inoremap {; {};O ""autocmd FileType cpp inoremap < < ""autocmd FileType cpp inoremap << << ""autocmd FileType cpp inoremap > > ""autocmd FileType cpp inoremap >> >> ""autocmd FileType cpp inoremap <= <= 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