diff --git a/vimrc b/vimrc index 2a07844..c617729 100644 --- a/vimrc +++ b/vimrc @@ -1,5 +1,19 @@ +" vim-startify +let g:startify_custom_header = [ + \ '. . . .__ ', + \ '\ / _ * _| | \._. _. _ _ ._ ', + \ ' \/ (_)|(_] |__/[ (_](_](_)[ )', + \ ' ._| ', + \ '', + \ ' ? for help', + \ '', +\ ] +let g:startify_change_to_dir = 0 + +" save project home dir on load let DirProjectHome = getcwd() +" generic settings set nomodeline set encoding=utf8 @@ -8,7 +22,7 @@ set nowrap " Adjust system undo levels set undofile -set undodir=~./.local/share/nvim/undo +set undodir=~/.local/share/nvim/undo set undolevels=100 " Use system clipboard @@ -57,6 +71,7 @@ Plug 'airblade/vim-gitgutter' Plug 'ctrlpvim/ctrlp.vim', { 'on': 'CtrlP' } Plug 'dyng/ctrlsf.vim' Plug 'vim-scripts/SearchComplete' +Plug 'tpope/vim-fugitive' " Code Editing Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } @@ -85,19 +100,33 @@ call plug#end() " Theme: Dracula color dracula -" ctrlp -" let g:ctrlp_custom_ignore = 'node_modules\|DS_Store\|git\|bower_components\|build\|dist\|dest' -let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' +" denite setup +call denite#custom#map('insert', "", '', 'noremap') +call denite#custom#map('insert', "", '', 'noremap') +call denite#custom#map('insert', '', '' , 'noremap') +call denite#custom#map('insert', '', '' , 'noremap') +call denite#custom#option('_', { + \ 'prompt': '⟩', + \ 'winheight': 10, + \ 'auto_resize': 1, + \}) +let s:menus = {} +let s:menus.neovim = { + \ 'description': 'Tools & Keybindings' +\ } +let s:menus.neovim.command_candidates = [] +let s:menus.tmux = { + \ 'description': 'Keybindings' +\ } +let s:menus.tmux.command_candidates = [] +let s:menus.git = { + \ 'description': 'Git power menu g' +\ } +let s:menus.git.command_candidates = [] -" vim-startify -let g:startify_change_to_dir = 0 -let g:startify_custom_header = [ - \ ' ____ _ _____ ____ ', - \ ' / __/ __(_) _/ /_ / __/__ __ __', - \ ' _\ \| |/|/ / / _/ __/ / _// _ \\ \ /', - \ ' /___/|__,__/_/_/ \__/ /_/ \___/_\_\ ', - \ '', -\ ] +" Leader +let mapleader="\" +let s:menus.neovim.command_candidates += [['Leader: ', '']] " vim-airline let g:airline#extensions#tabline#enabled=1 @@ -108,52 +137,54 @@ set laststatus=2 let g:indentLine_enabled = 1 let g:indentLine_char = "⟩" -" ctrlsf -let g:ctrlsf_default_view_mode = 'compact' - -" Leader -let mapleader="\" - " Return to last opened file nmap +let s:menus.neovim.command_candidates += [['Reopen last buffer: ', 'c-^']] " register list nnoremap "" :registers "0123456789abcdefghijklmnopqrstuvwxyz*+. +let s:menus.neovim.command_candidates += [['List registers: ""', ':registers']] " adding empty lines nnoremap k :put! =repeat(nr2char(10), v:count1)'[ nnoremap j :put =repeat(nr2char(10), v:count1) +let s:menus.neovim.command_candidates += [['Add empty line above: k', '']] +let s:menus.neovim.command_candidates += [['Add empty line below: j', '']] " moving current line nnoremap mk :execute 'move -1-'. v:count1 nnoremap mj :execute 'move +'. v:count1 +let s:menus.neovim.command_candidates += [['Move line up: mk', '']] +let s:menus.neovim.command_candidates += [['Move line down: mj', '']] " arrow keys resize pane nnoremap :vertical resize -1 nnoremap :vertical resize +1 nnoremap :resize -1 nnoremap :resize +1 +let s:menus.neovim.command_candidates += [['Resize pane: Arrow Keys', '']] " disable arrow keys in insert mode imap imap imap imap -" Grepper -nnoremap fp :CtrlSF -nnoremap ft :CtrlSFToggle - " File Buffer nnoremap :bnext! nnoremap :bprev! +let s:menus.neovim.command_candidates += [['Next buffer: ', 'bnext!']] +let s:menus.neovim.command_candidates += [['Previous buffer: ', 'bprev!']] -" Fuzzy Finder +" ctrlp Fuzzy Finder nnoremap p :CtrlP nnoremap t :CtrlP +let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' +let s:menus.neovim.command_candidates += [['Fuzzy Find Files: t (or p)', 'CtrlP']] -" vimfiler +" netrw File Explorer function! ExploreToggle(bang) if &ft ==# "netrw" + :exe "lcd " . g:DirProjectHome :bd else if a:bang @@ -168,12 +199,13 @@ function! ExploreToggle(bang) endif endfunction command! -bang ET call ExploreToggle(0) - map ` :ET map ~ :ET! +autocmd FileType netrw set nolist let g:netrw_preview = 1 let g:netrw_banner = 0 -autocmd FileType netrw set nolist +let s:menus.neovim.command_candidates += [['File Explorer: `', 'Explore']] +let s:menus.neovim.command_candidates += [['File Explorer from current open file: ~', 'Explore']] " deoplete let g:deoplete#enable_at_startup = 1 @@ -187,13 +219,43 @@ xmap f Sneak_f xmap F Sneak_F omap f Sneak_f omap F Sneak_F +let s:menus.neovim.command_candidates += [['Sneak to next character: f (F back)', '']] +let s:menus.neovim.command_candidates += [['Sneak to next 2 character sequence: S (S back)', '']] + +" ctrlsf +nnoremap fp :CtrlSF +nnoremap ft :CtrlSFToggle +let g:ctrlsf_default_view_mode = 'compact' +let s:menus.neovim.command_candidates += [['Find in Project: fp', 'CtrlSF ']] +let s:menus.neovim.command_candidates += [['Find in Project Toggle: ft', 'CtrlSFToggle']] + +" vim-fugitive +let s:menus.neovim.command_candidates += [['Git menu: g', 'Denite menu:git']] +let s:menus.git.command_candidates += [['Status `g status`', 'Git status']] +let s:menus.git.command_candidates += [['Add Patch `g add -p`', 'Git add -p']] +let s:menus.git.command_candidates += [['Commit `g commit`', 'Git commit']] " writing autocmd Filetype markdown call SetMarkdownOptions() - function SetMarkdownOptions() " Enable spellcheck. set spell spelllang=en_us set wrap set nolist endfunction + +" denite tmux +let s:menus.tmux.command_candidates += [['Leader: b', '']] +let s:menus.tmux.command_candidates += [['Time: t', '']] +let s:menus.tmux.command_candidates += [['New vertical split: \', '']] +let s:menus.tmux.command_candidates += [['New horizontal split: -', '']] +let s:menus.tmux.command_candidates += [['New tab: t', '']] +let s:menus.tmux.command_candidates += [['Close tab: w', '']] +let s:menus.tmux.command_candidates += [['Next tab: ', '']] +let s:menus.tmux.command_candidates += [['Previous tab: ', '']] + +" denite finalize +call denite#custom#var('menu', 'menus', s:menus) +nnoremap / :Denite menu +nnoremap ? :Denite menu +nnoremap g :Denite menu:git