dotfiles/.vim/vimrc
2022-06-23 08:59:27 -04:00

98 lines
3.0 KiB
VimL

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 <TAB> character displays as
set shiftwidth=4 " number of spaces to use for each step of (auto)indent
set softtabstop=4 " backspace after pressing <TAB> 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 <CR> (carriage-return)
nnoremap <CR> :nohlsearch<CR><CR>
"""" NerdTree Settings
let g:NERDTreeFileExtensionHighlightFullName = 1
let g:NERDTreeExactMatchHighlightFullName = 1
let g:NERDTreePatternMatchHighlightFullName = 1
let g:NerdTreeQuitOnOpen = 1
nnoremap <leader>n :NERDTreeFocus<CR>
nnoremap <C-n> :NERDTree<CR>
nnoremap <C-t> :NERDTreeToggle<CR>
nnoremap <C-f> :NERDTreeFind<CR>
" 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