From 4db3b806a98da506c91b300021726ae88219e176 Mon Sep 17 00:00:00 2001 From: Ruben Date: Fri, 30 Dec 2022 09:19:24 +0100 Subject: [PATCH] Updated .vimrc --- .vimrc | 86 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 71 insertions(+), 15 deletions(-) diff --git a/.vimrc b/.vimrc index 1023363..a8ce2e4 100644 --- a/.vimrc +++ b/.vimrc @@ -1,4 +1,4 @@ -set cursorline +" set cursorline set wildmenu set incsearch set hlsearch @@ -10,45 +10,66 @@ set autoindent set textwidth=80 set noshowmode set expandtab -set smarttab -set smartindent -set smartcase -set ignorecase -set backspace=indent,eol,start syntax on set nocompatible let mapleader=" " filetype off +set path+=/usr/include/nodejs/src/ + set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'preservim/nerdtree' -Plugin 'preservim/nerdcommenter' Plugin 'joshdick/onedark.vim' Plugin 'w0rp/ale' Plugin 'tiagofumo/vim-nerdtree-syntax-highlight' Plugin 'ryanoasis/vim-devicons' Plugin 'airblade/vim-gitgutter' Plugin 'ctrlpvim/ctrlp.vim' -Plugin 'github/copilot.vim' +Plugin 'preservim/nerdcommenter' +Plugin 'HerringtonDarkholme/yats.vim' +Plugin 'mhinz/vim-startify' +Plugin 'sbdchd/neoformat' +Plugin 'Raimondi/delimitMate' Plugin 'itchyny/lightline.vim' +Plugin 'github/copilot.vim' call vundle#end() filetype plugin indent on -" NERDTree +" Opens NERDTree when a directory is opened autocmd StdinReadPre * let s:std_in=1 -autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | exe 'NERDTree' | wincmd p | ene | exe 'cd '.argv()[0] | endif +autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif +" Exit NERDTree if all files have closed autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif +" Check if NERDTree is open or active function! IsNERDTreeOpen() - return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1) + return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1) endfunction +" Call NERDTreeFind if NERDTree is active, current window contains a modifiable +" file and we're not in vimdiff +function! s:synctree() + if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff + nerdtreefind + wincmd p + endif +endfunction + +function s:refresh() + if IsNERDTreeOpen() + exec "NERDTreeRefreshRoot" + exec "NERDTreeRefreshRoot" + endif +endfunction + +map :call refresh() + set hidden set updatetime=300 set signcolumn=yes @@ -82,16 +103,42 @@ let g:NERDTrimTrailingWhitespace = 1 " Enable NERDCommenterToggle to check all selected lines is commented or not let g:NERDToggleCheckAllLines = 1 - let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] let g:ale_linters_explicit = 1 let g:ale_linters = { 'cpp': ['g++'], 'c': ['gcc'] } let g:ale_cpp_cc_options = "-std=c++17" +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +" Autoformat with clang-format +function! FormatOnSave() + let l:formatdiff = 1 + pyf ~/.local/bin/clang-format.py +endfunction +autocmd BufWritePre *.h,*.cc,*.cpp,*.c call FormatOnSave() + +autocmd BufWritePre,InsertLeave *.js Neoformat + +au BufNewFile,BufRead *.ejs set filetype=html + +inoremap pumvisible() ? "\" : "\u\" +nnoremap K :call show_documentation() +inoremap pumvisible() ? "\" : "\" +noremap j (v:count == 0 ? 'gj' : 'j') +noremap k (v:count == 0 ? 'gk' : 'k') +map :NERDTreeToggle inoremap jk vmap NERDCommenterToggle nmap NERDCommenterToggle +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap , :nohlsearch if (has("nvim")) "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > @@ -109,8 +156,17 @@ let g:onedark_termcolors = 256 let g:onedark_terminal_italics = 1 let g:lightline = { - \ 'colorscheme': 'onedark', - \ } + \ 'colorscheme': 'onedark', + \ } + +" Python tab fix +function! s:fixtab() + set expandtab + set tabstop=4 + retab +endfunction + +command FixTab :call s:fixtab() syntax on -colorscheme onedark \ No newline at end of file +colorscheme onedark