set cursorline set wildmenu set incsearch set hlsearch set nu rnu set tabstop=4 set softtabstop=4 set shiftwidth=4 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 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 'itchyny/lightline.vim' call vundle#end() filetype plugin indent on " NERDTree 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 bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif function! IsNERDTreeOpen() return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1) endfunction set hidden set updatetime=300 set signcolumn=yes let g:NERDTreeGitStatusWithFlags = 1 let g:NERDTreeIgnore = ['^node_modules$'] " Create default mappings let g:NERDCreateDefaultMappings = 1 " Add spaces after comment delimiters by default let g:NERDSpaceDelims = 1 " Use compact syntax for prettified multi-line comments let g:NERDCompactSexyComs = 1 " Align line-wise comment delimiters flush left instead of following code indentation let g:NERDDefaultAlign = 'left' " Set a language to use its alternate delimiters by default let g:NERDAltDelims_java = 1 " Add your own custom formats or override the defaults let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } } " Allow commenting and inverting empty lines (useful when commenting a region) let g:NERDCommentEmptyLines = 1 " Enable trimming of trailing whitespace when uncommenting 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" inoremap jk vmap NERDCommenterToggle nmap NERDCommenterToggle if (has("nvim")) "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > let $NVIM_TUI_ENABLE_TRUE_COLOR=1 endif "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > if (has("termguicolors")) set termguicolors endif let g:onedark_hide_endofbuffer = 1 let g:onedark_termcolors = 256 let g:onedark_terminal_italics = 1 let g:lightline = { \ 'colorscheme': 'onedark', \ } syntax on colorscheme onedark