Skip to content

Instantly share code, notes, and snippets.

@MindPatch
Last active June 14, 2021 20:41
Show Gist options
  • Save MindPatch/93ddc4f18698cbdbc91d0f9ad16c32f2 to your computer and use it in GitHub Desktop.
Save MindPatch/93ddc4f18698cbdbc91d0f9ad16c32f2 to your computer and use it in GitHub Desktop.
my vimrc
"set laststatus=2 "
call plug#begin('~/.vim/plugged')
Plug 'https://github.com/junegunn/vim-github-dashboard.git'
Plug 'junegunn/vim-easy-align'
Plug 'arcticicestudio/nord-vim'
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'
Plug 'nikvdp/ejs-syntax'
"{{ File management }}
Plug 'vifm/vifm.vim' " Vifm
Plug 'ycm-core/YouCompleteMe'
Plug 'joshdick/onedark.vim'
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 'dylanaraps/wal.vim'
Plug 'dylanaraps/wal.vim'
Plug 'pangloss/vim-javascript'
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!
Plug 'https://github.com/chriskempson/base16-vim'
Plug 'myhere/vim-nodejs-complete'
call plug#end()
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
" filetype plugin on
set mouse=a
" 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': 'one',
\ }
" 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
let g:instant_markdown_autostart = 0 " Turns off auto preview
let g:instant_markdown_browser = "brave" " Uses surf for preview
map <Leader>md :InstantMarkdownPreview<CR> " Previews .md file
map <Leader>ms :InstantMarkdownStop<CR> " Kills the preview
set splitbelow splitright
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:\
nmap <c-s> :w<CR>
nmap <c-q> :q!<CR>
nmap <c-t> :tabedit <CR>
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
set tabstop=4
set shiftwidth=4
set expandtab
set number
set laststatus=2
set autoindent
set smartindent
"set listchars=tab:>-,trail:-,nbsp:_"
set nolist
autocmd FileType python set omnifunc=python3complete#Complete
set background=dark
colorscheme onedark
set showmode
colorscheme wal
let g:nodejs_complete_config = {
\ 'js_compl_fn': 'jscomplete#CompleteJS',
\ 'max_node_compl_len': 15
\}
let g:javascript_plugin_jsdoc = 1
set encoding=utf-8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment