mirror of
https://github.com/bvanroll/_dotfiles.git
synced 2025-08-28 11:32:42 +00:00
162 lines
3.6 KiB
VimL
162 lines
3.6 KiB
VimL
" Disable compatibility with vi
|
|
set nocompatible
|
|
|
|
" auto changedir when opening file
|
|
set autochdir
|
|
|
|
" Enable filetype detection
|
|
filetype on
|
|
|
|
" Enable plugins for filetypes
|
|
filetype plugin on
|
|
|
|
" enable indents for filetypes
|
|
filetype indent on
|
|
|
|
" auto indent, smart indent, wrap lines in that order:
|
|
set ai
|
|
set si
|
|
set wrap
|
|
|
|
" Super useful! From an idea by Michael Naumann
|
|
"vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
|
|
"vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
|
|
|
|
|
|
" enable syntax highlighting
|
|
syntax on
|
|
|
|
" enable line numbers
|
|
set number
|
|
set relativenumber
|
|
"enable cursor line and column highlight
|
|
set cursorline
|
|
"set cursorcolumn
|
|
|
|
" first is newlines, second is self explanitory
|
|
set shiftwidth=2
|
|
set tabstop=2
|
|
"use space instead of tab
|
|
set expandtab
|
|
"increment search highlight
|
|
set incsearch
|
|
"case search, like upper case lower case shit
|
|
set smartcase
|
|
" show search matching during search and highlight
|
|
set showmatch
|
|
set hlsearch
|
|
|
|
"command history 1k
|
|
set history=1000
|
|
|
|
" show the mode
|
|
set showmode
|
|
|
|
"auto read updates of file
|
|
"set autoread
|
|
"au FocusGained,BufEnter * silent! checktime
|
|
|
|
" mapping a leader allows for more keycombos
|
|
"let mapleader = ","
|
|
|
|
" auto completion menu after tab
|
|
set wildmenu
|
|
|
|
"wildcard completion for files? see :help wildmenu
|
|
set wildignore=*.o,*~,*.pyc,*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
|
|
|
|
" show current pos info
|
|
set ruler
|
|
|
|
"set laststatus=2
|
|
|
|
"ignore case when searching
|
|
set ignorecase
|
|
|
|
"don't redraw during macro's etc.
|
|
set lazyredraw
|
|
|
|
" enable regex enginej
|
|
"set regexpengine=0
|
|
|
|
"Configure backspace so it acts as it should act
|
|
"set backspace=eol,start,indent
|
|
"set whichwrap+=<,>,h,l
|
|
|
|
"plugins config
|
|
|
|
|
|
|
|
call plug#begin('~/.vim/plugged')
|
|
Plug 'preservim/nerdtree'
|
|
" Plug 'prabirshrestha/vim-lsp'
|
|
"Plug 'tpope/vim-surround'
|
|
Plug 'SirVer/ultisnips'
|
|
"Plug 'sheerun/vim-polyglot'
|
|
Plug 'petrbroz/vim-glsl'
|
|
"Plug 'Xuyuanp/nerdtree-git-plugin'
|
|
Plug 'jayli/vim-easycomplete'
|
|
Plug 'kien/rainbow_parenthesis'
|
|
"Plug 'kien/rainbow_parenth
|
|
Plug 'ap/vim-css-color'
|
|
Plug 'rust-lang/rust.vim'
|
|
call plug#end()
|
|
|
|
|
|
|
|
"nerdtree mappings
|
|
"nnoremap <leader>n :NerdTreeFocus<CR>
|
|
nnoremap <C-n> :NERDTree<CR>
|
|
nnoremap <C-t> :NERDTreeToggle<CR>
|
|
nnoremap <C-f> :NERDTreeFind<CR>
|
|
"nerdtree git settings
|
|
"let g:NERDTreeGitStatusUseNerdFonts = 1 " you should install nerdfonts by yourself. default: 0
|
|
|
|
"ultisnip config
|
|
"let g:UltiSnipsExpandTrigger="<C-s>"
|
|
"let g:UltiSnipsJumpForwardTrigger="<C-b>"
|
|
"let g:UltiSnipsJumpBackwardTrigger="<C-z>"
|
|
"
|
|
"let g:UltiSnipsEditSplit="vertical"
|
|
|
|
colorscheme gruvbox
|
|
set background=dark
|
|
|
|
"example remaps from primeagen. zz centers screen making these things 'feel'
|
|
"better to use
|
|
nnoremap <C-d> <C-d>zz
|
|
nnoremap <C-u> <C-u>zz
|
|
nnoremap zc zczz
|
|
nnoremap zo zozz
|
|
nnoremap <C-u> <C-u>zz
|
|
nnoremap n nzzzv
|
|
nnoremap N Nzzzv
|
|
|
|
"build command, relies on set variable in ftdetect's file folder
|
|
nnoremap <C-b> :w <bar> exec g:buildCommand.shellescape('%') <CR>
|
|
|
|
|
|
" for some reason vim polyglot didnt recognize empty files on macos, so
|
|
" enabling this line made it so that glsl was recognized
|
|
autocmd! BufNewFile,BufRead *.frag set ft=glsl
|
|
autocmd! BufNewFile,BufRead *.fsh set ft=glsl
|
|
|
|
|
|
set updatetime=3000
|
|
" easy complete settings:
|
|
" highlight the symbol when holding the cursor if you need it
|
|
"let g:easycomplete_cursor_word_hl = 1
|
|
" using nerdfont is highly recommened
|
|
"let g:easycomplete_nerd_font = 1
|
|
"goto code nav
|
|
|
|
"noremap gr :EasyCompleteReference<CR>
|
|
"noremap gd :EasyCompleteGotoDefinition<CR>
|
|
"noremap rn :EasyCompleteRename<CR>
|
|
"noremap gb :BackToOrignialBuffer<CR>
|
|
|
|
|
|
" source the overrides
|
|
"
|
|
so ~/.vim/overrides
|