mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2024-11-10 10:39:41 +00:00
134 lines
4.7 KiB
VimL
Executable file
134 lines
4.7 KiB
VimL
Executable file
set encoding=utf-8 " Use UTF-8
|
|
set showmatch " Show matching brackets
|
|
set ignorecase " Do case insensitive matching
|
|
set incsearch " Show partial matches for a search phrase
|
|
set number " Show numbers
|
|
set relativenumber " Show relative numbersi
|
|
set undolevels=999 " Lots of these
|
|
set history=1000 " More history
|
|
set hlsearch " Highlight Search
|
|
set noexpandtab " Do not expand tab into spaces (change to expandtab to use spaces)
|
|
set tabstop=4 " Tab size
|
|
set shiftwidth=4 " Indentation size
|
|
set softtabstop=4 " Tabs/Spaces interrop
|
|
set tabpagemax=50 " More tabs
|
|
set autoindent " Enable autoindent
|
|
set ruler " Show cursor position
|
|
set cursorline " Highlight cursor line
|
|
set backspace=indent,eol,start " Delete everything
|
|
set laststatus=2 " Always show status line
|
|
set wildmode=longest,list,full " Enable autocompletion
|
|
set splitbelow splitright " Split in more natural way
|
|
set formatoptions+=j " Delete comment character when joining commented lines
|
|
set autoread " Reload files on change
|
|
set mouse=a " Enable mouse mode (won't have any effect on TTY)
|
|
syntax enable " Turn on syntax highlighting
|
|
" Non TTY Settings (Uncomment if you are on full graphical environment)
|
|
set encoding=utf-8 " Use UTF-8, not ASCII
|
|
"set termguicolors " Use true colors (256)
|
|
|
|
" XDG Support
|
|
" Avoid using this with root, sudo causes issues with this
|
|
if empty($MYVIMRC) | let $MYVIMRC = expand('<sfile>:p') | endif
|
|
|
|
if empty($XDG_CACHE_HOME) | let $XDG_CACHE_HOME = $HOME."/.cache" | endif
|
|
if empty($XDG_CONFIG_HOME) | let $XDG_CONFIG_HOME = $HOME."/.config" | endif
|
|
if empty($XDG_DATA_HOME) | let $XDG_CONFIG_HOME = $HOME."/.local/share" | endif
|
|
|
|
set runtimepath^=$XDG_CONFIG_HOME/vim
|
|
set runtimepath+=$XDG_DATA_HOME/vim
|
|
set runtimepath+=$XDG_CONFIG_HOME/vim/after
|
|
|
|
set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim
|
|
set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after
|
|
|
|
let g:netrw_home = $XDG_DATA_HOME."/vim"
|
|
call mkdir($XDG_DATA_HOME."/vim/spell", 'p')
|
|
set viewdir=$XDG_DATA_HOME/vim/view | call mkdir(&viewdir, 'p')
|
|
|
|
set backupdir=$XDG_CACHE_HOME/vim/backup | call mkdir(&backupdir, 'p')
|
|
set directory=$XDG_CACHE_HOME/vim/swap | call mkdir(&directory, 'p')
|
|
set undodir=$XDG_CACHE_HOME/vim/undo | call mkdir(&undodir, 'p')
|
|
|
|
" Have Vim jump to the last position when reopening a file
|
|
if has("autocmd")
|
|
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\""
|
|
endif
|
|
|
|
" Automatically deletes all trailing whitespace on save
|
|
autocmd BufWritePre * %s/\s\+$//e
|
|
|
|
" Perform shellcheck on files
|
|
map <leader>s :!clear && shellcheck %<CR>
|
|
|
|
" Remap splits navigation to just CTRL + hjkl
|
|
nnoremap <C-h> <C-w>h
|
|
nnoremap <C-j> <C-w>j
|
|
nnoremap <C-k> <C-w>k
|
|
nnoremap <C-l> <C-w>l
|
|
|
|
" Make adjusing split sizes a bit more friendly
|
|
noremap <silent> <C-Left> :vertical resize +3<CR>
|
|
noremap <silent> <C-Right> :vertical resize -3<CR>
|
|
noremap <silent> <C-Up> :resize +3<CR>
|
|
noremap <silent> <C-Down> :resize -3<CR>
|
|
|
|
"
|
|
map <C-c> "+y
|
|
vnoremap <C-v> "+p
|
|
|
|
" Vundle
|
|
filetype off " required
|
|
set nocompatible " be iMproved, required
|
|
|
|
"set rtp+=~/.local/share/vim/bundle/Vundle.vim
|
|
"all vundle#begin('~/.local/share/vim/bundle')
|
|
call plug#begin('~/.local/share/vim/plugged')
|
|
|
|
Plug 'VundleVim/Vundle.vim' " Let vundle manage itself
|
|
Plug 'airblade/vim-gitgutter' " Shows Git diff
|
|
Plug 'joshdick/onedark.vim' " OneDark theme
|
|
Plug 'vim-airline/vim-airline' " AirLine statusline
|
|
Plug 'vim-airline/vim-airline-themes' " AirLine statusline themes
|
|
Plug 'vim-syntastic/syntastic' " Syntax checking
|
|
Plug 'vim-python/python-syntax' " Python highlighting
|
|
|
|
"call vundle#end()
|
|
call plug#end()
|
|
filetype plugin indent on
|
|
|
|
" User interface / Theme
|
|
colorscheme onedark
|
|
"autocmd ColorScheme * highlight! Normal ctermbg=NONE guibg=NONE " Terminal background
|
|
set guioptions-=m " remove menubar
|
|
set guioptions-=T " remove toolbar
|
|
set guioptions-=r " remove right-hand scrollbar
|
|
set guioptions-=L " remove left-hand scrollbar
|
|
|
|
let g:python_highlight_all = 1 " Enable pyhton-syntax support
|
|
|
|
" Airline
|
|
let g:airline_theme='onedark'
|
|
let g:airline#extensions#tabline#enabled = 1
|
|
let g:airline#tabline#formatter = 'unique_tail'
|
|
let g:airline_symbols_ascii = 1 " Enable ASCII only for TTY
|
|
let g:airline_left_sep = "\uE0B0" " Change to ASCII symbol on TTY (>)
|
|
let g:airline_right_sep = "\uE0B2" " Change to ASCII symbol on TTY (<)
|
|
|
|
" Syntastic
|
|
set statusline+=%#warningmsg#
|
|
set statusline+=%{SyntasticStatuslineFlag()}
|
|
set statusline+=%*
|
|
|
|
let g:syntastic_alays_populate_loc_list = 1
|
|
let g:syntastic_auto_loc_list = 0
|
|
let g:syntastic_check_on_open = 1
|
|
let g:syntastic_check_on_wq = 0
|
|
let g:syntastic_python_checkers = ['flake8']
|
|
|
|
map <leader>c :SyntasticCheck<CR>
|
|
map <leader>z :Errors<CR>
|
|
|
|
|
|
|