From b96af90aa3b0bbe2f575ec8a411f378d3a3c554f Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Tue, 13 Oct 2020 21:45:39 +0200 Subject: New vim in progress --- .vimrc | 182 +++++++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 116 insertions(+), 66 deletions(-) (limited to '.vimrc') diff --git a/.vimrc b/.vimrc index 66cb18d..06b4d7c 100644 --- a/.vimrc +++ b/.vimrc @@ -1,4 +1,10 @@ -" .vimrc 3.1 by Joe +" .vimrc 4.0 by Joe +" _ +" | | ___ ___ +" _ | |/ _ \ / _ \ +" | |_| | (_) | __/ +" \___/ \___/ \___| +" " Plugins call plug#begin('~/.vim/plugged') @@ -12,12 +18,19 @@ Plug 'tpope/vim-surround' Plug 'tpope/vim-fugitive' Plug 'luochen1990/rainbow' Plug 'preservim/nerdcommenter' +Plug 'morhetz/gruvbox' +Plug 'sainnhe/gruvbox-material' +Plug 'ryanoasis/vim-devicons' +Plug 'brglng/vim-sidebar-manager' +Plug 'preservim/tagbar' +Plug 'vifm/vifm.vim' +Plug 'mhinz/vim-startify' call plug#end() let mapleader="," " Some basics: - "set bg=light + set bg=dark set go=a set mouse=a set nohlsearch @@ -25,7 +38,6 @@ let mapleader="," set tabstop=4 set softtabstop=4 set shiftwidth=4 - nnoremap c "_c set nocompatible filetype plugin indent on set encoding=utf-8 @@ -33,28 +45,105 @@ let mapleader="," set ruler syntax on set hidden - -" Nerdtree - autocmd StdinReadPre * let s:std_in=1 - autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif - -" Enable autocompletion: + autocmd ColorScheme * highlight Normal ctermbg=NONE guibg=NONE + colorscheme gruvbox-material set wildmode=longest,list,full " Some quick bindings - noremap g :G - noremap :call NERDComment(0,"toggle") - noremap :bprevious - noremap :bnext - noremap h - noremap j - noremap k - noremap l - noremap o - noremap 0 q - noremap :e - noremap w :w :bp :bd # - noremap k :w :bp :bd # + nnoremap c "_c + nnoremap g :G + nnoremap :call NERDComment(0,"toggle") + nnoremap : + nnoremap :! + nnoremap :bprevious + nnoremap :bnext + nnoremap h + nnoremap j + nnoremap k + nnoremap l + nnoremap o + nnoremap 1 o + nnoremap 2 :vsp + nnoremap 3 :sp + nnoremap 0 q + nnoremap :e + nnoremap :w + nnoremap w :w :bp :bd # + nnoremap k :w :bp :bd # + nnoremap :spj:term:resize -10i + nnoremap u :UndotreeToggle + nmap 1 AirlineSelectTab1 + nmap 2 AirlineSelectTab2 + nmap 3 AirlineSelectTab3 + nmap 4 AirlineSelectTab4 + nmap 5 AirlineSelectTab5 + nmap 6 AirlineSelectTab6 + nmap 7 AirlineSelectTab7 + nmap 8 AirlineSelectTab8 + nmap 9 AirlineSelectTab9 + nmap 0 AirlineSelectTab10 + +" sidebars + let g:NERDTreeWinPos = 'left' + let g:NERDTreeWinSize = 40 + let g:NERDTreeQuitOnOpen = 0 + let g:tagbar_left = 1 + let g:tagbar_width = 40 + let g:tagbar_autoclose = 0 + let g:tagbar_autofocus = 1 + let g:undotree_SetFocusWhenToggle = 1 + let g:undotree_SplitWidth = 40 + + let g:sidebars = { + \ 'nerdtree': { + \ 'position': 'left', + \ 'check_win': {nr -> getwinvar(nr, '&filetype') ==# 'nerdtree'}, + \ 'open': 'NERDTree', + \ 'close': 'NERDTreeClose' + \ }, + \ 'tagbar': { + \ 'position': 'left', + \ 'check_win': {nr -> bufname(winbufnr(nr)) =~ '__Tagbar__'}, + \ 'open': 'TagbarOpen', + \ 'close': 'TagbarClose' + \ }, + \ 'undotree': { + \ 'position': 'left', + \ 'check_win': {nr -> getwinvar(nr, '&filetype') ==# 'undotree'}, + \ 'open': 'UndotreeShow', + \ 'close': 'UndotreeHide' + \ } + \ } + + noremap :call sidebar#toggle('nerdtree') + noremap :call sidebar#toggle('tagbar') + noremap :call sidebar#toggle('undotree') + let g:startify_session_before_save = ['call sidebar#close_all()'] + +" Startify + let g:startify_padding_left = 90 + let g:startify_custom_header = startify#pad([ + \ ' _____________________________________ ', + \ ' / \', + \ ' | Hi, partner, welcome_back to |', + \ ' | _ __ ___ _____ _(_)_ __ ___ |', + \ ' | | ''_ \ / _ \/ _ \ \ / / | ''_ ` _ \ |', + \ ' | | | | | __/ (_) \ V /| | | | | | | |', + \ ' | |_| |_|\___|\___/ \_/ |_|_| |_| |_| |', + \ ' \ /', + \ ' ------------------------------------- ', + \ ' \ ^__^ ', + \ ' \ (oo)\_______ ', + \ ' (__)\ )\/\ ', + \ ' ||----w | ', + \ ' || || ', + \ ]) + let g:startify_lists = [ + \ { 'type': 'sessions', 'header': startify#pad(['Sessions']) }, + \ { 'type': 'files', 'header': startify#pad(['Recent']) }, + \ { 'type': 'bookmarks', 'header': startify#pad(['Bookmarks']) }, + \ { 'type': 'commands', 'header': startify#pad(['Commands']) }, + \ ] " Airline let g:airline#extensions#tabline#enabled = 1 @@ -62,7 +151,7 @@ let mapleader="," 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_theme = 'base16_gruvbox_dark_hard' let g:airline_powerline_fonts = 1 let g:airline_symbols_ascii = 1 let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]' @@ -83,10 +172,10 @@ let mapleader="," " Cursor mode let g:airline#extensions#cursormode#enabled = 1 let g:cursormode_color_map = { - \ "i": "#7da9c7", - \ "n": "#eac179", - \ "R": "#bb5653", - \ "r": "#bb5653", + \ "i": "#d79921", + \ "n": "#d79921", + \ "R": "#cc241d", + \ "r": "#cc241d", \ "v": "#b06597", \ "V": "#b06597", \ "\": "#b06597", @@ -94,45 +183,6 @@ let mapleader="," " 10 buffers jump let g:airline#extensions#tabline#buffer_idx_mode = 1 - noremap :spj:term:resize -10i - noremap :NERDTreeToggle - noremap :UndotreeToggle - nmap 1 AirlineSelectTab1 - nmap 2 AirlineSelectTab2 - nmap 3 AirlineSelectTab3 - nmap 4 AirlineSelectTab4 - nmap 5 AirlineSelectTab5 - nmap 6 AirlineSelectTab6 - nmap 7 AirlineSelectTab7 - nmap 8 AirlineSelectTab8 - nmap 9 AirlineSelectTab9 - nmap 0 AirlineSelectTab10 " 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 % - -" Compile document, be it groff/LaTeX/markdown/etc. - "map c :w! \| !compiler % - autocmd BufWritePost *.tex !compiler % - -" Compile C file - autocmd FileType * noremap :w :!clear :!make -j5 ASAN=1 - autocmd FileType * noremap :w :!clear :!./a.out; ret=$?; echo "~>"; if [ $ret -ne 0 ]; then echo -n "$ret"; if [ $ret -eq 127 ]; then echo " - Missing a.out"; exit; elif [ $ret -eq 134 ]; then echo " - Abort\!"; elif [ $ret -eq 138 ]; then echo " - Bus error\!"; elif [ $ret -eq 139 ]; then echo " - Segmentation fault\!"; fi; fi; echo "\n\n.vimrc v3.0 Tilde Edition by Joe" -" === Comfy === -" C - 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 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 - -" .vimrc 3.1 by Joe -- cgit v1.2.3