From 1cd6aba49b0aecbb83a4120fb74090314e41dc9d Mon Sep 17 00:00:00 2001 From: salad Date: Tue, 9 Mar 2021 18:10:28 +0100 Subject: here --- vimrc | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 vimrc diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..aba9d2f --- /dev/null +++ b/vimrc @@ -0,0 +1,148 @@ +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 -- cgit v1.2.3