" ____ _____ " | _ \_ _| 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 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => 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 :NERDTreeToggle 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 vv :Vifm map vs :VsplitVifm map sp :SplitVifm map dv :DiffVifm map tv :TabVifm """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => 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 md :InstantMarkdownPreview " Previews .md file map ms :InstantMarkdownStop " Kills the preview """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Open terminal inside Vim """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" map tt :vnew term://fish """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Mouse Scrolling """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set mouse=nicr """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Splits and Tabbed Files """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set splitbelow splitright " Remap splits navigation to just CTRL + hjkl nnoremap h nnoremap j nnoremap k nnoremap l " Make adjusing split sizes a bit more friendly noremap :vertical resize +3 noremap :vertical resize -3 noremap :resize +3 noremap :resize -3 " Change 2 split windows from vert to horiz or horiz to vert map th tH map tk tK " 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