Created
August 1, 2019 23:32
-
-
Save braynm/6085e99e756f3e20e53f9b519e049305 to your computer and use it in GitHub Desktop.
nvim
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ 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