mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2023-02-13 20:55:19 -05:00
229 lines
10 KiB
VimL
229 lines
10 KiB
VimL
" ____ _____
|
|
" | _ \_ _| Derek Taylor (DistroTube)
|
|
" | | | || | http://www.youtube.com/c/DistroTube
|
|
" | |_| || | http://www.gitlab.com/dwt1/
|
|
" |____/ |_|
|
|
"
|
|
" A customized .vimrc for vim (https://www.vim.org/)
|
|
|
|
set nocompatible " be iMproved, required
|
|
filetype off " required
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Vundle For Managing Plugins
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
call plug#begin('~/.vim/plugged')
|
|
|
|
"{{ The Basics }}
|
|
Plug 'gmarik/Vundle.vim' " Vundle
|
|
Plug 'itchyny/lightline.vim' " Lightline statusbar
|
|
Plug 'suan/vim-instant-markdown', {'rtp': 'after'} " Markdown Preview
|
|
Plug 'frazrepo/vim-rainbow'
|
|
"{{ File management }}
|
|
Plug 'vifm/vifm.vim' " Vifm
|
|
Plug 'scrooloose/nerdtree' " Nerdtree
|
|
Plug 'tiagofumo/vim-nerdtree-syntax-highlight' " Highlighting Nerdtree
|
|
Plug 'ryanoasis/vim-devicons' " Icons for Nerdtree
|
|
"{{ Productivity }}
|
|
Plug 'vimwiki/vimwiki' " VimWiki
|
|
Plug 'jreybert/vimagit' " Magit-like plugin for vim
|
|
"{{ Tim Pope Plugins }}
|
|
Plug 'tpope/vim-surround' " Change surrounding marks
|
|
"{{ Syntax Highlighting and Colors }}
|
|
Plug 'PotatoesMaster/i3-vim-syntax' " i3 config highlighting
|
|
Plug 'kovetskiy/sxhkd-vim' " sxhkd highlighting
|
|
Plug 'vim-python/python-syntax' " Python highlighting
|
|
Plug 'ap/vim-css-color' " Color previews for CSS
|
|
"{{ Junegunn Choi Plugins }}
|
|
Plug 'junegunn/goyo.vim' " Distraction-free viewing
|
|
Plug 'junegunn/limelight.vim' " Hyperfocus on a range
|
|
Plug 'junegunn/vim-emoji' " Vim needs emojis!
|
|
|
|
call plug#end()
|
|
|
|
filetype plugin indent on " required
|
|
" To ignore plugin indent changes, instead use:
|
|
" filetype plugin on
|
|
|
|
" Brief help
|
|
" :PluginList - lists configured plugins
|
|
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
|
|
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
|
|
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
|
|
|
|
" see :h vundle for more details or wiki for FAQ
|
|
" Put your non-Plugin stuff after this line
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => General Settings
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
set path+=** " Searches current directory recursively.
|
|
set wildmenu " Display all matches when tab complete.
|
|
set incsearch " Incremental search
|
|
set hidden " Needed to keep multiple buffers open
|
|
set nobackup " No auto backups
|
|
set noswapfile " No swap
|
|
set t_Co=256 " Set if term supports 256 colors.
|
|
set number relativenumber " Display line numbers
|
|
set clipboard=unnamedplus " Copy/paste between vim and other programs.
|
|
syntax enable
|
|
let g:rehash256 = 1
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Remap Keys
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Remap ESC to ii
|
|
:imap ii <Esc>
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Status Line
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" The lightline.vim theme
|
|
let g:lightline = {
|
|
\ 'colorscheme': 'darcula',
|
|
\ }
|
|
|
|
" Always show statusline
|
|
set laststatus=2
|
|
|
|
" Uncomment to prevent non-normal modes showing in powerline and below powerline.
|
|
set noshowmode
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Text, tab and indent related
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
set expandtab " Use spaces instead of tabs.
|
|
set smarttab " Be smart using tabs ;)
|
|
set shiftwidth=4 " One tab == four spaces.
|
|
set tabstop=4 " One tab == four spaces.
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => NERDTree
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Uncomment to autostart the NERDTree
|
|
" autocmd vimenter * NERDTree
|
|
map <C-n> :NERDTreeToggle<CR>
|
|
let g:NERDTreeDirArrowExpandable = '►'
|
|
let g:NERDTreeDirArrowCollapsible = '▼'
|
|
let NERDTreeShowLineNumbers=1
|
|
let NERDTreeShowHidden=1
|
|
let NERDTreeMinimalUI = 1
|
|
let g:NERDTreeWinSize=38
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Colors and Theming
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
highlight LineNr ctermfg=8 ctermbg=none cterm=none
|
|
highlight CursorLineNr ctermfg=7 ctermbg=8 cterm=none
|
|
highlight VertSplit ctermfg=0 ctermbg=8 cterm=none
|
|
highlight Statement ctermfg=2 ctermbg=none cterm=none
|
|
highlight Directory ctermfg=4 ctermbg=none cterm=none
|
|
highlight StatusLine ctermfg=7 ctermbg=8 cterm=none
|
|
highlight StatusLineNC ctermfg=7 ctermbg=8 cterm=none
|
|
highlight NERDTreeClosable ctermfg=2
|
|
highlight NERDTreeOpenable ctermfg=8
|
|
highlight Comment ctermfg=4 ctermbg=none cterm=italic
|
|
highlight Constant ctermfg=12 ctermbg=none cterm=none
|
|
highlight Special ctermfg=4 ctermbg=none cterm=none
|
|
highlight Identifier ctermfg=6 ctermbg=none cterm=none
|
|
highlight PreProc ctermfg=5 ctermbg=none cterm=none
|
|
highlight String ctermfg=12 ctermbg=none cterm=none
|
|
highlight Number ctermfg=1 ctermbg=none cterm=none
|
|
highlight Function ctermfg=1 ctermbg=none cterm=none
|
|
" highlight WildMenu ctermfg=0 ctermbg=80 cterm=none
|
|
" highlight Folded ctermfg=103 ctermbg=234 cterm=none
|
|
" highlight FoldColumn ctermfg=103 ctermbg=234 cterm=none
|
|
" highlight DiffAdd ctermfg=none ctermbg=23 cterm=none
|
|
" highlight DiffChange ctermfg=none ctermbg=56 cterm=none
|
|
" highlight DiffDelete ctermfg=168 ctermbg=96 cterm=none
|
|
" highlight DiffText ctermfg=0 ctermbg=80 cterm=none
|
|
" highlight SignColumn ctermfg=244 ctermbg=235 cterm=none
|
|
" highlight Conceal ctermfg=251 ctermbg=none cterm=none
|
|
" highlight SpellBad ctermfg=168 ctermbg=none cterm=underline
|
|
" highlight SpellCap ctermfg=80 ctermbg=none cterm=underline
|
|
" highlight SpellRare ctermfg=121 ctermbg=none cterm=underline
|
|
" highlight SpellLocal ctermfg=186 ctermbg=none cterm=underline
|
|
" highlight Pmenu ctermfg=251 ctermbg=234 cterm=none
|
|
" highlight PmenuSel ctermfg=0 ctermbg=111 cterm=none
|
|
" highlight PmenuSbar ctermfg=206 ctermbg=235 cterm=none
|
|
" highlight PmenuThumb ctermfg=235 ctermbg=206 cterm=none
|
|
" highlight TabLine ctermfg=244 ctermbg=234 cterm=none
|
|
" highlight TablineSel ctermfg=0 ctermbg=247 cterm=none
|
|
" highlight TablineFill ctermfg=244 ctermbg=234 cterm=none
|
|
" highlight CursorColumn ctermfg=none ctermbg=236 cterm=none
|
|
" highlight CursorLine ctermfg=none ctermbg=236 cterm=none
|
|
" highlight ColorColumn ctermfg=none ctermbg=236 cterm=none
|
|
" highlight Cursor ctermfg=0 ctermbg=5 cterm=none
|
|
" highlight htmlEndTag ctermfg=114 ctermbg=none cterm=none
|
|
" highlight xmlEndTag ctermfg=114 ctermbg=none cterm=none
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Vifm
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
map <Leader>vv :Vifm<CR>
|
|
map <Leader>vs :VsplitVifm<CR>
|
|
map <Leader>sp :SplitVifm<CR>
|
|
map <Leader>dv :DiffVifm<CR>
|
|
map <Leader>tv :TabVifm<CR>
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => VimWiki
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:vimwiki_list = [{'path': '~/vimwiki/',
|
|
\ 'syntax': 'markdown', 'ext': '.md'}]
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Vim-Instant-Markdown
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:instant_markdown_autostart = 0 " Turns off auto preview
|
|
let g:instant_markdown_browser = "surf" " Uses surf for preview
|
|
map <Leader>md :InstantMarkdownPreview<CR> " Previews .md file
|
|
map <Leader>ms :InstantMarkdownStop<CR> " Kills the preview
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Open terminal inside Vim
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
map <Leader>tt :vnew term://fish<CR>
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Mouse Scrolling
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
set mouse=nicr
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Splits and Tabbed Files
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
set splitbelow splitright
|
|
|
|
" 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>
|
|
|
|
" Change 2 split windows from vert to horiz or horiz to vert
|
|
map <Leader>th <C-w>t<C-w>H
|
|
map <Leader>tk <C-w>t<C-w>K
|
|
|
|
" Removes pipes | that act as seperators on splits
|
|
set fillchars+=vert:\
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Other Stuff
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:python_highlight_all = 1
|
|
|
|
au! BufRead,BufWrite,BufWritePost,BufNewFile *.org
|
|
au BufEnter *.org call org#SetOrgFileType()
|
|
|
|
set guioptions-=m "remove menu bar
|
|
set guioptions-=T "remove toolbar
|
|
set guioptions-=r "remove right-hand scroll bar
|
|
set guioptions-=L "remove left-hand scroll bar
|