summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nvim/init.vim50
1 files changed, 43 insertions, 7 deletions
diff --git a/nvim/init.vim b/nvim/init.vim
index f8d0cb1..6582d6a 100644
--- a/nvim/init.vim
+++ b/nvim/init.vim
@@ -10,18 +10,23 @@ endif
call plug#begin('~/.vim/plugged')
+"Formatting and navigation
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'scrooloose/nerdcommenter'
Plug 'godlygeek/tabular'
+"Git
Plug 'xuyuanp/nerdtree-git-plugin'
Plug 'tpope/vim-fugitive'
+"Fuzzy file search
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
+"tab completion
Plug 'Shougo/denite.nvim'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'Shougo/echodoc.vim'
+Plug 'deoplete-plugins/deoplete-jedi'
Plug 'xolox/vim-misc'
Plug 'xolox/vim-lua-ftplugin'
@@ -31,6 +36,7 @@ Plug 'teal-language/vim-teal'
Plug 'whonore/Coqtail'
+"Color schemes
Plug 'mhartington/oceanic-next'
Plug 'vim-scripts/Wombat'
Plug 'zeis/vim-kolor'
@@ -58,12 +64,16 @@ Plug 'sainnhe/vim-color-grimoire'
Plug 'ghifarit53/tokyonight-vim'
call plug#end()
-colorscheme iceberg
+colorscheme onedark
"deoplete
let g:deoplete#enable_at_startup = 1
inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"
+"python
+let g:deoplete#sources#jedi#python_path='python3'
+let g:deoplete#sources#jedi#show_docstring=1
+
"lua
let g:lua_compiler_name='luajit'
"let g:lua_compiler_name='lua'
@@ -118,17 +128,43 @@ nnoremap <A-k> <C-\><C-n><C-w>k
nnoremap <A-l> <C-\><C-n><C-w>l
"Resize splits
-noremap <C-h> :vertical resize -5<Cr>
-noremap <C-l> :vertical resize +5<Cr>
-noremap <C-j> :res +5<Cr>
-noremap <C-k> :res -5<Cr>
+"noremap <C-h> :vertical resize -5<Cr>
+"noremap <C-l> :vertical resize +5<Cr>
+"noremap <C-j> :res +5<Cr>
+"noremap <C-k> :res -5<Cr>
+
+function! s:HasNeighbor(direction)
+ return winnr() != winnr(a:direction)
+endfunction
+
+function! s:PushResize(direction, amount)
+ if a:direction == 'l' || a:direction == 'h'
+ let l:cmd = 'vertical resize'
+ else
+ let l:cmd = 'resize'
+ endif
+
+ if s:HasNeighbor(a:direction)
+ let l:amount = '+'.a:amount
+ else
+ let l:amount = '-'.a:amount
+ endif
+
+ echo l:cmd . ' ' . l:amount
+ execute l:cmd . ' ' . l:amount
+endfunction
+
+nnoremap <C-h> :call <SID>PushResize('h',5)<CR>
+nnoremap <C-j> :call <SID>PushResize('j',5)<CR>
+nnoremap <C-k> :call <SID>PushResize('k',5)<CR>
+nnoremap <C-l> :call <SID>PushResize('l',5)<CR>
"Navigate tabs
noremap <A-]> gt
noremap <A-[> gT
-"Add a semicolon at the nd of the line
-vnoremap <C-;> :s/\([^;]\)$/\1;/g<Cr>
+"Add a semicolon at the end of the line
+vnoremap <C-;> :'<,'>s/\([^;]\)$/\1;/g<Cr>
"Build in a vertical split
noremap <C-b> :vsplit<CR>:terminal make<CR>