mirror of
				https://github.com/ItsDrike/dotfiles.git
				synced 2025-11-04 09:16:36 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			133 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			VimL
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			133 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>
 | 
						|
 | 
						|
 | 
						|
 |