source ~/.vim/plugins.vim source ~/.vim/keymaps.vim """" Basic Behavior set number set relativenumber set wrap " wrap lines set encoding=UTF-8 " set encoding to UTF-8 (default was "latin1") set mouse=a " enable mouse support (might not work well on Mac OS X) set wildmenu " visual autocomplete for command menu set lazyredraw " redraw screen only when we need to set showmatch " highlight matching parentheses / brackets [{()}] set laststatus=2 " always show statusline (even with only single window) set ruler " show line and column number of the cursor on right side of statusline set visualbell " blink cursor on error, instead of beeping set invlist " show tabs """ Vim Appearance syntax on set t_Co=256 set cursorline set termguicolors let g:tokyonight_style = 'night' " available: night, storm let g:tokyonight_enable_italic = 1 colorscheme nord " colorscheme wal " colorscheme nordfox " colorscheme tokyonight " colorscheme duskfox " colorscheme nightfox hi Normal guibg=NONE ctermbg=NONE " turn on mouse mode " use filetype-based syntax highlighting, ftplugins, and indentati syntax enable filetype plugin indent on set foldmethod=indent set foldlevel=10 " fix clipboard " set clipboard=unnamed.unnamedplus """" Tab settings set tabstop=4 " width that a character displays as set shiftwidth=4 " number of spaces to use for each step of (auto)indent set softtabstop=4 " backspace after pressing will remove up to this many spaces set autoindent " copy indent from current line when starting a new line set smartindent " even better autoindent (e.g. add indent after '{') """" Search settings set incsearch " search as characters are entered set hlsearch " highlight matches " turn off search highlighting with (carriage-return) nnoremap :nohlsearch """" NerdTree Settings let g:NERDTreeFileExtensionHighlightFullName = 1 let g:NERDTreeExactMatchHighlightFullName = 1 let g:NERDTreePatternMatchHighlightFullName = 1 let g:NerdTreeQuitOnOpen = 1 nnoremap n :NERDTreeFocus nnoremap :NERDTree nnoremap :NERDTreeToggle nnoremap :NERDTreeFind " Start NERDTree when Vim starts with a directory argument. autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') | \ execute 'NERDTree' argv()[0] | wincmd p | enew | execute 'cd '.argv()[0] | endif " Exit Vim if NERDTree is the only window remaining in the only tab. autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif """" Miscellaneous settings that might be worth enabling set cursorline " highlight current line set background=dark " configure Vim to use brighter colors set autoread " autoreload the file in Vim if it has been changed outside of Vim