Skip to content

Instantly share code, notes, and snippets.

@braynm
Created August 1, 2019 23:32
Show Gist options
  • Select an option

  • Save braynm/6085e99e756f3e20e53f9b519e049305 to your computer and use it in GitHub Desktop.

Select an option

Save braynm/6085e99e756f3e20e53f9b519e049305 to your computer and use it in GitHub Desktop.
nvim
""" Optixal's Neovim Init.vim
""" Vim-Plug
call plug#begin()
" Aesthetics - Main
Plug 'dracula/vim', { 'commit': '147f389f4275cec4ef43ebc25e2011c57b45cc00' }
Plug 'junegunn/goyo.vim'
Plug 'junegunn/vim-journal'
Plug 'junegunn/rainbow_parentheses.vim'
" Aethetics - Additional
Plug 'nightsense/nemo'
Plug 'yuttie/hydrangea-vim'
Plug 'chriskempson/tomorrow-theme', { 'rtp': 'vim' }
Plug 'rhysd/vim-color-spring-night'
" Functionalities
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-surround'
Plug 'majutsushi/tagbar'
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/nerdcommenter'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'zchee/deoplete-jedi'
Plug 'ervandew/supertab'
Plug 'jiangmiao/auto-pairs'
Plug 'junegunn/vim-easy-align'
Plug 'alvan/vim-closetag'
Plug 'tpope/vim-abolish'
Plug 'Yggdroot/indentLine'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'sheerun/vim-polyglot'
Plug 'chrisbra/Colorizer'
Plug 'vim-scripts/loremipsum'
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'metakirby5/codi.vim'
Plug 'dkarter/bullets.vim'
Plug 'scrooloose/nerdcommenter'
Plug 'w0rp/ale'
Plug 'airblade/vim-gitgutter'
Plug 'terryma/vim-multiple-cursors'
Plug 'mhinz/vim-mix-format'
" Elixir
Plug 'slashmili/alchemist.vim'
" JavaScript
Plug 'pangloss/vim-javascript'
Plug 'moll/vim-node'
Plug 'isRuslan/vim-es6'
Plug 'othree/yajs.vim'
Plug 'maxmellon/vim-jsx-pretty'
" Entertainment
"Plug 'ryanss/vim-hackernews'
call plug#end()
""" Python3 VirtualEnv
let g:python3_host_prog = expand('~/.config/nvim/env/bin/python')
""" Coloring
syntax on
color dracula
set foldmethod=syntax
highlight Pmenu guibg=white guifg=black gui=bold
highlight Comment gui=bold
highlight Normal gui=none
highlight NonText guibg=none
" Opaque Background (Comment out to use terminal's profile)
set termguicolors
let g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol = 'ƛ'
" Transparent Background (For i3 and compton)
"highlight Normal guibg=NONE ctermbg=NONE
"highlight LineNr guibg=NONE ctermbg=NONE
""" Other Configurations
filetype plugin indent on
set tabstop=2 softtabstop=2 shiftwidth=2 expandtab smarttab autoindent
set incsearch ignorecase smartcase hlsearch
set ruler laststatus=2 showcmd showmode
set list listchars=trail:»,tab:»-
set fillchars+=vert:\
set wrap breakindent
set encoding=utf-8
set number
set title
""" Plugin Configurations
" NERDTree
let NERDTreeShowHidden=1
let g:NERDTreeDirArrowExpandable = '↠'
let g:NERDTreeDirArrowCollapsible = '↡'
" Airline
"let g:airline_powerline_fonts = 1
"let g:airline_section_z = ' %{strftime("%-I:%M %p")}'
"let g:airline_section_warning = ''
"let g:airline#extensions#tabline#enabled = 1
" Neovim :Terminal
tmap <Esc> <C-\><C-n>
tmap <C-w> <Esc><C-w>
"tmap <C-d> <Esc>:q<CR>
autocmd BufWinEnter,WinEnter term://* startinsert
autocmd BufLeave term://* stopinsert
" Deoplete
let g:deoplete#enable_at_startup = 1
" Disable documentation window
set completeopt-=preview
" Supertab
let g:SuperTabDefaultCompletionType = "<C-n>"
" Ultisnips
let g:UltiSnipsExpandTrigger="<C-Space>"
let g:UltiSnipsJumpForwardTrigger="<Tab>"
let g:UltiSnipsJumpBackwardTrigger="<C-x>"
" EasyAlign
xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign)
" indentLine
let g:indentLine_char = '▏'
let g:indentLine_color_gui = '#363949'
" TagBar
let g:tagbar_width = 30
let g:tagbar_iconchars = ['↠', '↡']
" fzf-vim
let g:fzf_action = {
\ 'ctrl-t': 'tab split',
\ 'ctrl-s': 'split',
\ 'ctrl-v': 'vsplit' }
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Normal'],
\ 'hl': ['fg', 'Comment'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'Type'],
\ 'border': ['fg', 'Ignore'],
\ 'prompt': ['fg', 'Character'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }
" Markdown and Journal
autocmd FileType markdown setlocal shiftwidth=2 tabstop=2 softtabstop=2
" Zazen Mode (Black & White)
function! ColorZazen()
let g:airline_theme='badcat'
color zazen
IndentLinesEnable
endfunction
" Find Files
nmap <C-p> :GFiles<CR>
""" Custom Mappings
let mapleader=","
nmap <leader>q :NERDTreeToggle<CR>
"nmap \ <leader>q
nmap <leader>w :TagbarToggle<CR>
nmap <leader>f :NERDTreeFind<CR>
nmap <leader>d :NERDTreeToggle<CR>
nmap <leader>r :so ~/.config/nvim/init.vim<CR>
nmap <leader>g :Goyo<CR>
nmap <silent> <leader><leader> :noh<CR>
nmap <Tab> <C-w>w
" Edit previous/next files
"nmap <Tab> :bnext<CR>
"nmap <S-Tab> :bprevious<CR>
" Reverse lines
" Normal mode reverse lines
nnoremap <C-j> :m .+1<CR>==
nnoremap <C-k> :m .-2<CR>==
" Insert mode reverse lines
inoremap <C-j> :m .+1<CR>==
inoremap <C-k> :m .-2<CR>==
" Visual mode reverse lines
vnoremap <C-j> :m '>+1<CR>gv=gv
vnoremap <C-k> :m '<-2<CR>gv=gv<Paste>
" Save file mapping
nmap <C-s> <C-c>:w<Enter>
imap <C-s> <C-c>:w<Enter>
vmap <C-s> <C-c>:w<Enter>
" Auto format code on save Elixir
let g:mix_format_on_save = 1
""" Ale configuration for JS
let g:ale_javascript_eslint_executable = 'eslint'
let g:ale_linters = {
\ 'javascript': ['eslint'],
\ 'jsx': ['eslint'],
\ 'elixir': []
\}
let g:ale_fixers = { 'javascript': ['eslint'] }
let g:ale_fix_on_save = 1
let g:ale_sign_error = 'x'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment