summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcoat <coat@sadbeast.com>2021-12-10 00:18:46 -0600
committercoat <coat@sadbeast.com>2021-12-10 00:18:46 -0600
commit748e1e09bd90e38ff8658f7e32782c0ff41902e5 (patch)
treeb1cc9517d46cdec44b2a1e7f42a7b97d202512e2
parentfcdb6ef7eb46ddb5ffb446f9db16427b4d4ac457 (diff)
downloadcfg-748e1e09bd90e38ff8658f7e32782c0ff41902e5.tar.gz
cfg-748e1e09bd90e38ff8658f7e32782c0ff41902e5.tar.bz2
vimrc redo
-rw-r--r--.config/sway/config6
m---------.vim/pack/git-plugins/start/agit.vim0
m---------.vim/pack/git-plugins/start/ale0
m---------.vim/pack/git-plugins/start/base16-vim0
m---------.vim/pack/git-plugins/start/deoplete.nvim0
m---------.vim/pack/git-plugins/start/forth.vim0
m---------.vim/pack/git-plugins/start/fzf.vim0
m---------.vim/pack/git-plugins/start/lightline-ale0
m---------.vim/pack/git-plugins/start/lightline.vim0
m---------.vim/pack/git-plugins/start/nvim-yarp0
m---------.vim/pack/git-plugins/start/vim-commentary0
m---------.vim/pack/git-plugins/start/vim-eunuch0
m---------.vim/pack/git-plugins/start/vim-hug-neovim-rpc0
m---------.vim/pack/git-plugins/start/vim-rails0
m---------.vim/pack/git-plugins/start/vim-signify0
m---------.vim/pack/git-plugins/start/vim-toml0
m---------.vim/pack/git-plugins/start/zig.vim0
-rw-r--r--.vimrc445
18 files changed, 154 insertions, 297 deletions
diff --git a/.config/sway/config b/.config/sway/config
index 0fd5a0b..fee563a 100644
--- a/.config/sway/config
+++ b/.config/sway/config
@@ -244,8 +244,10 @@ bindsym XF86AudioPrev exec playerctl previous
bindsym XF86MonBrightnessUp exec light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
bindsym XF86MonBrightnessDown exec light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
-bindsym $mod+shift+p exec $screenclip
-bindsym $mod+p exec $screenshot
+bindsym $mod+shift+y exec $screenclip
+bindsym $mod+y exec $screenshot
+
+bindsym $mod+p exec passmenu
exec mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | wob
diff --git a/.vim/pack/git-plugins/start/agit.vim b/.vim/pack/git-plugins/start/agit.vim
new file mode 160000
+Subproject 8b168d347bc746f772ac99e461099ca20ff1258
diff --git a/.vim/pack/git-plugins/start/ale b/.vim/pack/git-plugins/start/ale
new file mode 160000
+Subproject b9744076a1603b37bc861e1aa885bbc052e0ed6
diff --git a/.vim/pack/git-plugins/start/base16-vim b/.vim/pack/git-plugins/start/base16-vim
new file mode 160000
+Subproject 6191622d5806d4448fa2285047936bdcee57a09
diff --git a/.vim/pack/git-plugins/start/deoplete.nvim b/.vim/pack/git-plugins/start/deoplete.nvim
new file mode 160000
+Subproject 1c40f648d2b00e70beb4c473b7c0e32b633bd9a
diff --git a/.vim/pack/git-plugins/start/forth.vim b/.vim/pack/git-plugins/start/forth.vim
new file mode 160000
+Subproject 7fa67844fbdb91a3c8e0959e940788582f29286
diff --git a/.vim/pack/git-plugins/start/fzf.vim b/.vim/pack/git-plugins/start/fzf.vim
new file mode 160000
+Subproject d6aa21476b2854694e6aa7b0941b8992a906c5e
diff --git a/.vim/pack/git-plugins/start/lightline-ale b/.vim/pack/git-plugins/start/lightline-ale
new file mode 160000
+Subproject a861f691ac7e40b1b359bc7a147078fa1e0570c
diff --git a/.vim/pack/git-plugins/start/lightline.vim b/.vim/pack/git-plugins/start/lightline.vim
new file mode 160000
+Subproject a29b8331e1bb36b09bafa30c3aa77e89cdd832b
diff --git a/.vim/pack/git-plugins/start/nvim-yarp b/.vim/pack/git-plugins/start/nvim-yarp
new file mode 160000
+Subproject b710bf4daccb603a423754794fb446e5fbb5957
diff --git a/.vim/pack/git-plugins/start/vim-commentary b/.vim/pack/git-plugins/start/vim-commentary
new file mode 160000
+Subproject 627308e30639be3e2d5402808ce18690557e829
diff --git a/.vim/pack/git-plugins/start/vim-eunuch b/.vim/pack/git-plugins/start/vim-eunuch
new file mode 160000
+Subproject 7a48f9ff0ef5f21447b2354ee52dc18b5567e05
diff --git a/.vim/pack/git-plugins/start/vim-hug-neovim-rpc b/.vim/pack/git-plugins/start/vim-hug-neovim-rpc
new file mode 160000
+Subproject 93ae38792bc197c3bdffa2716ae493c67a5e795
diff --git a/.vim/pack/git-plugins/start/vim-rails b/.vim/pack/git-plugins/start/vim-rails
new file mode 160000
+Subproject 582c4f6cf310b2b3044c366c726a90c0010fc45
diff --git a/.vim/pack/git-plugins/start/vim-signify b/.vim/pack/git-plugins/start/vim-signify
new file mode 160000
+Subproject 22f05607d4d7406781af56cafc1121152988c6d
diff --git a/.vim/pack/git-plugins/start/vim-toml b/.vim/pack/git-plugins/start/vim-toml
new file mode 160000
+Subproject 2c8983cc391287e5e26e015c3ab9c38de9f9b75
diff --git a/.vim/pack/git-plugins/start/zig.vim b/.vim/pack/git-plugins/start/zig.vim
new file mode 160000
+Subproject 0adf3a1407bdf60a6c1446fb6a9a05c9823e429
diff --git a/.vimrc b/.vimrc
index 193e034..575e47a 100644
--- a/.vimrc
+++ b/.vimrc
@@ -1,294 +1,157 @@
+" this isn't the 90s anymore
set nocompatible
-filetype off
-" easier to reach than \
-let mapleader=" "
-
-" vim-plug
-if empty(glob('~/.vim/autoload/plug.vim'))
- silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
- \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
+" Attempt to determine the type of a file based on its name and possibly its
+" contents. Use this to allow intelligent auto-indenting for each filetype,
+" and for plugins that are filetype specific.
+if has('filetype')
+ filetype indent plugin on
endif
-call plug#begin('~/.vim/plugged')
-
-" git wrapper
-Plug 'tpope/vim-fugitive'
-
-" ack wrapper. :Ack
-Plug 'mileszs/ack.vim'
-
-Plug 'mutewinter/nginx.vim'
-
-Plug 'scrooloose/nerdcommenter'
-
-Plug 'mustache/vim-mustache-handlebars'
-
-" better than ctrl-p
-Plug 'junegunn/fzf'
-Plug 'junegunn/fzf.vim'
-
-" Use a leader instead of the actual named binding
-nmap <leader>p :Files<cr>
-
-" Easy bindings for its various modes
-nmap <leader>bb :Buffers<cr>
-
-" rename a buffer. :rename[!] {newname}
-Plug 'danro/rename.vim'
+" Enable syntax highlighting
+if has('syntax')
+ syntax on
+endif
-Plug 'neoclide/coc.nvim', {'branch': 'release'}
-set shortmess+=c
-set signcolumn=number
+set encoding=utf-8
-" Use tab for trigger completion with characters ahead and navigate.
-" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
-" other plugin before putting this into your config.
-inoremap <silent><expr> <TAB>
- \ pumvisible() ? "\<C-n>" :
- \ <SID>check_back_space() ? "\<TAB>" :
- \ coc#refresh()
-inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
-
-function! s:check_back_space() abort
- let col = col('.') - 1
- return !col || getline('.')[col - 1] =~# '\s'
-endfunction
-
-" Use <c-space> to trigger completion.
-inoremap <silent><expr> <c-@> coc#refresh()
-
-" Make <CR> auto-select the first completion item and notify coc.nvim to
-" format on enter, <cr> could be remapped by other vim plugin
-inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
- \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
-
-" Use `[g` and `]g` to navigate diagnostics
-" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
-nmap <silent> [g <Plug>(coc-diagnostic-prev)
-nmap <silent> ]g <Plug>(coc-diagnostic-next)
-
-" GoTo code navigation.
-nmap <silent> gd <Plug>(coc-definition)
-nmap <silent> gy <Plug>(coc-type-definition)
-nmap <silent> gi <Plug>(coc-implementation)
-nmap <silent> gr <Plug>(coc-references)
-
-" Use K to show documentation in preview window.
-nnoremap <silent> K :call <SID>show_documentation()<CR>
-
-function! s:show_documentation()
- if (index(['vim','help'], &filetype) >= 0)
- execute 'h '.expand('<cword>')
- elseif (coc#rpc#ready())
- call CocActionAsync('doHover')
- else
- execute '!' . &keywordprg . " " . expand('<cword>')
- endif
-endfunction
-
-" Highlight the symbol and its references when holding the cursor.
-autocmd CursorHold * silent call CocActionAsync('highlight')
-
-" Symbol renaming.
-nmap <leader>rn <Plug>(coc-rename)
-
-" Formatting selected code.
-xmap <leader>f <Plug>(coc-format-selected)
-nmap <leader>f <Plug>(coc-format-selected)
-
-augroup mygroup
- autocmd!
- " Setup formatexpr specified filetype(s).
- autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
- " Update signature help on jump placeholder.
- autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
-augroup end
-
-" Applying codeAction to the selected region.
-" Example: `<leader>aap` for current paragraph
-xmap <leader>a <Plug>(coc-codeaction-selected)
-nmap <leader>a <Plug>(coc-codeaction-selected)
-
-" Remap keys for applying codeAction to the current buffer.
-nmap <leader>ac <Plug>(coc-codeaction)
-" Apply AutoFix to problem on the current line.
-nmap <leader>qf <Plug>(coc-fix-current)
-
-" Map function and class text objects
-" NOTE: Requires 'textDocument.documentSymbol' support from the language server.
-xmap if <Plug>(coc-funcobj-i)
-omap if <Plug>(coc-funcobj-i)
-xmap af <Plug>(coc-funcobj-a)
-omap af <Plug>(coc-funcobj-a)
-xmap ic <Plug>(coc-classobj-i)
-omap ic <Plug>(coc-classobj-i)
-xmap ac <Plug>(coc-classobj-a)
-omap ac <Plug>(coc-classobj-a)
-
-" Remap <C-f> and <C-b> for scroll float windows/popups.
-" Note coc#float#scroll works on neovim >= 0.4.0 or vim >= 8.2.0750
-nnoremap <nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
-nnoremap <nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
-inoremap <nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>"
-inoremap <nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>"
-
-" NeoVim-only mapping for visual mode scroll
-" Useful on signatureHelp after jump placeholder of snippet expansion
-if has('nvim')
- vnoremap <nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#nvim_scroll(1, 1) : "\<C-f>"
- vnoremap <nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#nvim_scroll(0, 1) : "\<C-b>"
-endif
+" Vim with default settings does not allow easy switching between multiple files
+" in the same editor window. Users can use multiple split windows or multiple
+" tab pages to edit multiple files, but it is still best to enable an option to
+" allow easier switching between files.
+"
+" One such option is the 'hidden' option, which allows you to re-use the same
+" window and switch from an unsaved buffer without saving it first. Also allows
+" you to keep an undo history for multiple files when re-using the same window
+" in this way. Note that using persistent undo also lets you undo in multiple
+" files even in the same window, but is less efficient and is actually designed
+" for keeping undo history after closing Vim entirely. Vim will complain if you
+" try to quit without saving, and swap files will keep you safe if your computer
+" crashes.
+set hidden
-" Use CTRL-S for selections ranges.
-" Requires 'textDocument/selectionRange' support of language server.
-nmap <silent> <C-s> <Plug>(coc-range-select)
-xmap <silent> <C-s> <Plug>(coc-range-select)
-
-" Add `:Format` command to format current buffer.
-command! -nargs=0 Format :call CocAction('format')
-
-" Add `:Fold` command to fold current buffer.
-command! -nargs=? Fold :call CocAction('fold', <f-args>)
-
-" Add `:OR` command for organize imports of the current buffer.
-command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
-
-" Add (Neo)Vim's native statusline support.
-" NOTE: Please see `:h coc-status` for integrations with external plugins that
-" provide custom statusline: lightline.vim, vim-airline.
-set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
-
-" Mappings for CoCList
-" Show all diagnostics.
-nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr>
-" Manage extensions.
-nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr>
-" Show commands.
-nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr>
-" Find symbol of current document.
-nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr>
-" Search workspace symbols.
-nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr>
-" Do default action for next item.
-nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR>
-" Do default action for previous item.
-nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR>
-" Resume latest coc list.
-"nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR>
-
-Plug 'chaquotay/ftl-vim-syntax'
-
-Plug 'itchyny/lightline.vim'
-let g:lightline = {
- \ 'colorscheme': 'gruvbox',
- \ }
+" Better command-line completion
+set wildmenu
-Plug 'scrooloose/nerdtree'
-nnoremap <silent><Leader>. :NERDTreeToggle<CR>
-autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
+" Show partial commands in the last line of the screen
+set showcmd
-Plug 'vim-scripts/forth.vim'
+" Highlight searches (use <leader>/ to temporarily turn off highlighting)
+set hlsearch
-Plug 'rust-lang/rust.vim'
-let g:rustfmt_autosave = 1
+" Use case insensitive search, except when using capital letters
+set ignorecase
+set smartcase
-Plug 'cespare/vim-toml'
+" Allow backspacing over autoindent, line breaks and start of insert action
+set backspace=indent,eol,start
-Plug 'airblade/vim-gitgutter'
-nnoremap <silent><Leader>gn :GitGutterNextHunk<CR>
-nnoremap <silent><Leader>gp :GitGutterPrevHunk<CR>
+" When opening a new line and no filetype-specific indenting is enabled, keep
+" the same indent as the line you're currently on. Useful for READMEs, etc.
+set autoindent
-Plug 'majutsushi/tagbar'
-nnoremap <silent><Leader>tb :TagbarToggle<CR>
+" Stop certain movements from always going to the first character of a line.
+" While this behaviour deviates from that of Vi, it does what most users
+" coming from other editors would expect.
+set nostartofline
-Plug 'tpope/vim-rails'
+" Display the cursor position on the last line of the screen or in the status
+" line of a window
+set ruler
-Plug 'morhetz/gruvbox'
-let g:gruvbox_contrast_dark = 'hard'
+" Always display the status line, even if only one window is displayed
+set laststatus=2
-" gitk in vim basically
-Plug 'cohama/agit.vim'
+" Instead of failing a command because of unsaved changes, instead raise a
+" dialogue asking if you wish to save changed files.
+set confirm
-Plug 'jeetsukumaran/vim-buffergator'
-" Use the right side of the screen
-let g:buffergator_viewport_split_policy = 'R'
+" Use visual bell instead of beeping when doing something wrong
+set visualbell
-" I want my own keymappings...
-let g:buffergator_suppress_keymaps = 1
+" And reset the terminal code for the visual bell. If visualbell is set, and
+" this line is also included, vim will neither flash nor beep. If visualbell
+" is unset, this does nothing.
+set t_vb=
-" Looper buffers
-"let g:buffergator_mru_cycle_loop = 1
+" Enable use of the mouse for all modes
+if has('mouse')
+ set mouse=a
+endif
-" Go to the previous buffer open
-nmap <leader>jj :BuffergatorMruCyclePrev<cr>
+" Display line numbers on the left
+set number
+set relativenumber
-" Go to the next buffer open
-nmap <leader>kk :BuffergatorMruCycleNext<cr>
+" Quickly time out on keycodes, but never time out on mappings
+set notimeout ttimeout ttimeoutlen=200
-" View the entire list of buffers open
-nmap <leader>bl :BuffergatorOpen<cr>
+" Use <F11> to toggle between 'paste' and 'nopaste'
+set pastetoggle=<F11>
+"
+" Leave paste mode so I don't forget
+au InsertLeave * set nopaste
-" Asynchronous Lint Engine
-Plug 'w0rp/ale'
+" Indentation settings for using 4 spaces instead of tabs.
+" Do not change 'tabstop' from its default value of 8 with this setup.
+set shiftwidth=4
+set softtabstop=4
+set expandtab
-" Unixy stuff
-Plug 'tpope/vim-eunuch'
+" Don't update the screen when executing macros
+set lazyredraw
-Plug 'ziglang/zig.vim'
+" Easier to reach than \
+let mapleader=" "
-call plug#end()
+" plugin config
-filetype plugin indent on
-set rtp+=$GOROOT/misc/vim
+nmap <silent> <C-k> <Plug>(ale_previous_wrap)
+nmap <silent> <C-j> <Plug>(ale_next_wrap)
-syntax enable
+" fzf
+nmap <leader>p :Files<cr>
+nmap <leader>bb :Buffers<cr>
-set encoding=utf-8
-set showcmd
+" lightline
+let g:lightline = {
+ \ 'colorscheme': 'Tomorrow_Night',
+ \ }
-set pastetoggle=<F2>
-" leave paste mode so i don't forget
-au InsertLeave * set nopaste
+let g:lightline.component_expand = {
+ \ 'linter_checking': 'lightline#ale#checking',
+ \ 'linter_infos': 'lightline#ale#infos',
+ \ 'linter_warnings': 'lightline#ale#warnings',
+ \ 'linter_errors': 'lightline#ale#errors',
+ \ 'linter_ok': 'lightline#ale#ok',
+ \ }
-" whitespace
-set wrap " don't wrap lines
-set textwidth=79
-set formatoptions=qrn1
-set tabstop=2 shiftwidth=2 " a tab is two spaces (or set this to 4)
-set expandtab " use spaces, not tabs (optional)
-set backspace=indent,eol,start " backspace through everything in insert mode
+let g:lightline.component_type = {
+ \ 'linter_checking': 'right',
+ \ 'linter_infos': 'right',
+ \ 'linter_warnings': 'warning',
+ \ 'linter_errors': 'error',
+ \ 'linter_ok': 'right',
+ \ }
+let g:lightline.active = {
+ \ 'right': [ [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_infos', 'linter_ok' ],
+ \ [ 'lineinfo' ],
+ \ [ 'percent' ],
+ \ [ 'fileformat', 'fileencoding', 'filetype'] ] }
-set lazyredraw " don't update the screen when executing macros
+let g:lightline#ale#indicator_checking = "\uf110"
+let g:lightline#ale#indicator_infos = "\uf129"
+let g:lightline#ale#indicator_warnings = "\uf071"
+let g:lightline#ale#indicator_errors = "\uf05e"
+let g:lightline#ale#indicator_ok = "\uf00c"
-set completeopt-=preview " hide the Scratch window when autocompleting
+" end plugin config
-" searching
-set hlsearch " highlight matches
-set incsearch " incremental searching
-set ignorecase " searches are case insensitive...
-set smartcase " ... unless they contain at least one capital letter
-set gdefault
+set formatoptions=ctqrn1
set showmatch " Show matching brackets.
set matchtime=5 " Bracket blinking.
-set novisualbell " No blinking
-set noerrorbells " No noise.
-set laststatus=2 " Always show status line.
-set vb t_vb= " disable any beeps or flashes on error
-set ruler
-set showcmd " Display an incomplete command in the lower right corner of the Vim window
-set shortmess=atI " Shortens messages
-
-set nolist " Display unprintable characters f12 - switches
-set listchars=tab:·\ ,eol:¶,trail:·,extends:»,precedes:« " Unprintable chars mapping
-
-set foldenable " Turn on folding
-set foldmethod=marker " Fold on the marker
-set foldlevel=100 " Don't autofold anything (but I can still fold manually)
-set foldopen=block,hor,mark,percent,quickfix,tag " what movements open folds
" start scrolling when we're 8 lines away from margins
set scrolloff=8
@@ -298,34 +161,26 @@ set sidescroll=1
set noswapfile
set nobackup
set nowb
-set hidden
" Automatically insert the current comment leader after hitting 'o' or 'O' in Normal mode.
-set fo+=o
+"set fo+=o
" Do not automatically insert a comment leader after an enter
-set fo-=r
+"set fo-=r
" Do no auto-wrap text using textwidth (does not apply to comments)
-set fo-=t
-
-set mouse=a
-
-" make mouse work in st
-set ttymouse=xterm2
+"set fo-=t
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*/vendor/*,*/bin/*,*/node_modules/*
-" quicker update time for things like tagbar and coc
-set updatetime=300
+" quicker async update time
+set updatetime=100
" taller vertical bar for vsplits
set fillchars+=vert:│
-" company standard bleh
-autocmd FileType java setlocal shiftwidth=4 tabstop=4
-
-autocmd FileType go setlocal noexpandtab
+set termguicolors
-autocmd BufNewFile,BufRead *.shl set syntax=sh
+set undodir=~/.vim/backups
+set undofile
" When opening a file, always jump to the last cursor position
autocmd BufReadPost *
@@ -333,9 +188,6 @@ autocmd BufReadPost *
\ exe "normal g'\"" |
\ endif
-" easily copy to system clipboard
-vnoremap <C-c> "+y
-
" remove annoying help window
inoremap <F1> <nop>
nnoremap <F1> <nop>
@@ -355,10 +207,6 @@ nnoremap <c-l> <c-w>l
nnoremap <c-n> :cnext<CR>
nnoremap <c-b> :cprevious<CR>
-" hulk smash escape
-inoremap jk <Esc>
-inoremap kj <Esc>
-
" buffer switching
noremap <left> :bp<CR>
noremap <right> :bn<CR>
@@ -366,7 +214,6 @@ noremap <right> :bn<CR>
" unhighlight search results
noremap <silent><Leader>/ :nohls<CR>
-noremap <silent><Leader>x :%!xmllint --format -<CR>
" reselect visual block after indent/outdent
vnoremap < <gv
vnoremap > >gv
@@ -378,25 +225,33 @@ cmap w!! %!sudo tee > /dev/null %
" This replicates the idea of closing a tab
nmap <leader>bq :bp <BAR> bd #<CR>
-"autocmd vimenter * ++nested colorscheme gruvbox
-set termguicolors
-let g:gruvbox_italic=1
-colorscheme gruvbox
+" Go to the previous buffer open
+nmap <leader>jj :bp<cr>
-if &t_Co >= 256 || has('gui-running')
- set background=dark
-endif
+" Go to the next buffer open
+nmap <leader>kk :bn<cr>
-set nu
-if version >= 703
- set undodir=~/.vim/backups
- set undofile
- set relativenumber
-endif
+colorscheme base16-tomorrow-night
+
+let g:ale_set_balloons=1
-highlight clear SignColumn
+" Load all plugins now.
+" Plugins need to be added to runtimepath before helptags can be generated.
+packloadall
+" Load all of the helptags now, after plugins have been loaded.
+" All messages and errors will be ignored.
+silent! helptags ALL
-set t_ku=OA
-set t_kd=OB
-set t_kr=OC
-set t_kl=OD
+" ale + deoplete
+call deoplete#enable()
+call deoplete#custom#option('sources', {
+\ '_': ['ale'],
+\})
+inoremap <silent><expr> <TAB>
+ \ pumvisible() ? "\<C-n>" :
+ \ <SID>check_back_space() ? "\<TAB>" :
+ \ deoplete#manual_complete()
+ function! s:check_back_space() abort "{{{
+ let col = col('.') - 1
+ return !col || getline('.')[col - 1] =~ '\s'
+ endfunction"}}}