From 10733c785e764630b40f57f3799b78ee15a784e2 Mon Sep 17 00:00:00 2001 From: "Harish.K" Date: Sun, 3 Jan 2016 23:09:53 +0530 Subject: [PATCH] Cleanup Neovim config file nvimrc --- home/.nvim/nvimrc | 327 +++++++++++++++++++++++++++------------------- 1 file changed, 189 insertions(+), 138 deletions(-) diff --git a/home/.nvim/nvimrc b/home/.nvim/nvimrc index b0791b7..9060442 100644 --- a/home/.nvim/nvimrc +++ b/home/.nvim/nvimrc @@ -1,85 +1,13 @@ " This file is inspired by spf13's vimrc -set t_Co=256 -" Ctrl-S to save file { -nmap :w -vmap gv -imap -" } -nmap q :bd -map :TagbarToggle -nmap :waexe "mksession! " . v:this_session -" \\es Open vimrc in a new tab -nmap es :tabedit ~/.nvim/nvimrc -" \\en Open current file's snippets file in a new tab -nmap en :execute 'OpenSnippets' -" for moving tab { -" Ctrl-Shift + Page-Up/Down to rearrange tab { -nmap :execute 'tabmove ' . (tabpagenr()-2 ) -nmap :execute 'tabmove ' . tabpagenr() -" } -" Ctrl-Shift + j/k to move current window in to another tab{ -nmap :execute 'Mt' . (tabpagenr() -1) -nmap :execute 'Mt' . (tabpagenr() +1) -" } - - " \tt Toggle tab and spaces -nmap tt :let &expandtab=!&expandtab - " \tj Incraese additional two spaces width for tab -nmap tj :let &shiftwidth=&shiftwidth-2\|let &tabstop=&tabstop-2\|let &softtabstop=&softtabstop-2\|echo 'tabstop=' &tabstop - " \tj Decreases two spaces width for tab -nmap tk :let &shiftwidth=&shiftwidth+2\|let &tabstop=&tabstop+2\|let &softtabstop=&softtabstop+2\|echo 'tabstop=' &tabstop -" } -" Session handling { -nmap sl :SessionList -nmap sc :SessionClose -" } - -" Ctrl-Enter in insert mode will append ';' to the line and insert a new line -imap A; - -" Ctrl-Enter in normal mode will jump to tag definition using cscope -nmap :vert scs f g -" Ctrl-? in normal mode will jump to tag references using cscope -nmap :vert scs f t - -" Alt + Arrows to Moving cursor to different windows { -nmap k -nmap j -nmap l -nmap h -" } +" set t_Co=256 -"for easy quote/unquote { -" \\ + a[add] / d[delete] + q[single quote] / Q [Double quote] -" \\dQ remove double quote -nmap dQ ds" -" \\dQ add double quote -nmap aQ ysiw" -" \\dQ remove single quote -nmap dq ds' -" \\dQ remove double quote -nmap aq ysiw' -" } -" format JSON { -nmap jt :%!python -m json.tool:set filetype=json -" } +set mouse=a -" Alt + [1-8] to Switch tabs { -map 1 1gt -map 2 2gt -map 3 3gt -map 4 4gt -map 5 5gt -map 6 6gt -map 7 7gt -map 8 8gt -" } +" Cd to current file's directory +command! Cwd :execute 'cd %:p:h' - set mouse=a - " cmap cwd lcd %:p:h - " cmap cd. lcd %:p:h - set timeout timeoutlen=1000 ttimeoutlen=100 +" set timeout timeoutlen=1000 ttimeoutlen=100 " My settings { filetype on " required! @@ -91,9 +19,10 @@ set directory=~/.nvim/swap/ filetype plugin indent on " Automatically detect file types. let NERDSpaceDelims=1 set listchars=tab:»\ ,eol:¶,trail:·,precedes:…,extends:… -" let g:xml_syntax_folding=1 -au FileType xml setlocal foldmethod=indent +set noswapfile + set path=., + let javaScript_fold=1 " JavaScript let perl_fold=1 " Perl " let php_folding=1 " PHP @@ -102,12 +31,11 @@ let ruby_fold=1 " Ruby let sh_fold_enabled=1 " sh let vimsyn_folding='af' " Vim script let xml_syntax_folding=1 " XML -autocmd FileType java set foldmethod=indent + autocmd FileType java set foldmethod=indent autocmd FileType html set foldmethod=indent autocmd FileType javascript set foldmethod=indent -" autocmd FileType php set foldmethod=indent ft=php.html -set noswapfile +autocmd FileType xml set foldmethod=indent " } @@ -124,6 +52,7 @@ autocmd BufRead *.java set include=^#\s*import autocmd BufRead *.java set includeexpr=substitute(v:fname,'\\.','/','g') autocmd BufRead *.java set suffixesadd=.java,.xml autocmd BufRead *.ect set suffixesadd=.ect ft=html.ect +autocmd BufEnter *.gradle setf groovy " } @@ -148,6 +77,7 @@ set linespace=0 " No extra spaces between rows set nu " Line numbers on set showmatch " Show matching brackets/parenthesis set hlsearch " Highlight search terms +set noincsearch set winminheight=0 " Windows can be 0 line high set ignorecase " Case insensitive search set smartcase " Case sensitive when uc present @@ -184,11 +114,6 @@ let g:html_indent_style1 = "inc" " Make it so AutoCloseTag works for xml and xhtml files as well au FileType xhtml,xml ru ftplugin/html/autoclosetag.vim " } -" NerdTree { -nmap ac ToggleAutoCloseMappings -map :NERDTreeToggle:NERDTreeMirror -map e :NERDTreeFind -nmap nt :NERDTreeFind let NERDTreeShowBookmarks=1 let NERDTreeIgnore=['\.pyc', '\~$', '\.swo$', '\.swp$', '\.git', '\.hg', '\.svn', '\.bzr'] @@ -200,21 +125,6 @@ let NERDTreeKeepTreeInNewTab=1 let g:nerdtree_tabs_open_on_gui_startup=0 " } -" Tabularize { -nmap a& :Tabularize /& -vmap a& :Tabularize /& -nmap a= :Tabularize /= -vmap a= :Tabularize /= -nmap a: :Tabularize /: -vmap a: :Tabularize /: -nmap a:: :Tabularize /:\zs -vmap a:: :Tabularize /:\zs -nmap a, :Tabularize /, -vmap a, :Tabularize /, -vmap a// :Tabularize /\/\/ -nmap a :Tabularize / -vmap a :Tabularize / -" } " Session List { set sessionoptions=blank,buffers,curdir,tabpages,winsize,resize,winpos @@ -225,6 +135,7 @@ set sessionoptions=blank,buffers,curdir,tabpages,winsize,resize,winpos " for JavaScript syntax checking { let g:syntastic_javascript_checkers = ['jshint'] +let g:syntastic_always_populate_loc_list = 1 " let g:syntastic_javascript_checkers = ['jslint'] " } @@ -235,20 +146,8 @@ let g:indent_guides_guide_size = 1 let g:indent_guides_enable_on_vim_startup = 1 " } set wrap -hi TabLineFill ctermfg=210 -hi TabLineSel ctermbg=50 -hi TabLine ctermbg=60 ctermfg=210 -hi TabLineSel ctermbg=50 ctermfg=90 - -" autocmd VimEnter * :hi IndentGuidesEven ctermbg=240 -" autocmd VimEnter * :hi IndentGuidesOdd ctermbg=235 -let g:indent_guides_auto_colors = 0 -hi IndentGuidesEven ctermbg=240 -hi IndentGuidesOdd ctermbg=235 -" set foldmethod=syntax -" let javascriptfold=1 " dont set cursorline for performance imporoovements -" set cursorline " Highlight current line +set cursorline " Highlight current line set listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Highlight problematic whitespace @@ -257,8 +156,8 @@ let Gtags_VerticalWindow = 1 let Gtags_Auto_Update = 1 let GtagsCscope_Auto_Load = 1 + " set lazyredraw -" set ttyfast let g:sparkupNextMapping = '' @@ -270,7 +169,6 @@ let g:sparkupNextMapping = '' " \ } " \} -let g:mustache_abbreviations = 1 "for Bundle { set nocompatible " be iMproved @@ -285,6 +183,8 @@ Bundle 'gmarik/vundle' Bundle 'tpope/vim-fugitive' Bundle 'Lokaltog/vim-easymotion' Bundle 'Lokaltog/vim-distinguished' +Bundle 'junegunn/seoul256.vim' +Bundle 'whatyouhide/vim-gotham' Bundle 'rstacruz/sparkup', {'rtp': 'vim/'} " vim-scripts repos Bundle 'L9' @@ -304,6 +204,7 @@ Bundle 'vim-scripts/DoxygenToolkit.vim' " Bundle 'maksimr/vim-jsbeautify' Bundle 'scrooloose/syntastic' " Bundle 'pangloss/vim-javascript' +Bundle 'ternjs/tern_for_vim' Bundle 'scrooloose/nerdcommenter' Bundle 'garbas/vim-snipmate' " Bundle 'amiorin/vim-project' @@ -315,23 +216,23 @@ Bundle 'vim-scripts/sessionman.vim' Bundle 'kien/ctrlp.vim' " Bundle 'leshill/vim-json' Bundle 'godlygeek/tabular' -" Bundle 'marijnh/tern_for_vim' Bundle 'majutsushi/tagbar' " Bundle 'amirh/HTML-AutoCloseTag' Bundle 'tpope/vim-surround' Bundle 'vim-scripts/AutoComplPop' +" Bundle 'Shougo/neocomplcache' +" Bundle 'Valloric/YouCompleteMe' " Bundle 'Shougo/eocomplcache' Bundle 'spf13/vim-autoclose' Bundle 'scrooloose/nerdtree' Bundle 'harish2704/harish2704-vim' -" Bundle 'Shougo/neocomplcache' Bundle 'kchmck/vim-coffee-script' Bundle 'digitaltoad/vim-jade' Bundle 'AndrewRadev/vim-eco' Bundle 'mustache/vim-mode' Bundle 'chrisbra/NrrwRgn' Bundle 'heavenshell/vim-jsdoc' -Bundle 'vim-scripts/JavaScript-Indent' +" Bundle 'vim-scripts/JavaScript-Indent' " Bundle 'spf13/PIV' " Bundle 'joonty/vim-taggatron' @@ -343,11 +244,6 @@ Bundle 'vim-scripts/matchit.zip' Bundle 'harish2704/vim-snippets' " Bundle 'vim-scripts/SyntaxRange' Bundle 'harish2704/gtags.vim' -" Bundle 'mustache/vim-mustache-handlebars' -Bundle 'vim-scripts/marvim' -Bundle 'Shougo/vimshell.vim' -Bundle 'Shougo/vimproc.vim' -" Bundle 'terryma/vim-multiple-cursors' " Bundle 'vim-scripts/guicolorscheme.vim' " Bundle 'vim-scripts/CSApprox' " Bundle 'vim-scripts/adt.vim' @@ -362,26 +258,181 @@ endif " Neovim specific settings syntax on -if has('neovim') - let s:python_host_init = 'python -c "import neovim; neovim.start_host()"' - let &initpython = s:python_host_init - let &initclipboard = s:python_host_init - set unnamedclip " Automatically use clipboard as storage for the unnamed register -endif" +" if has('neovim') +" let s:python_host_init = 'python -c "import neovim; neovim.start_host()"' +" let &initpython = s:python_host_init +" let &initclipboard = s:python_host_init +" set unnamedclip " Automatically use clipboard as storage for the unnamed register +" endif" " colorscheme colorful256 " colorscheme mrkn256 " colorscheme desert256 " colorscheme 256-grayvim -colorscheme distinguished +" colorscheme jellybeans " colorscheme devbox-dark-256 " colorscheme lodestone +" colorscheme distinguished +colorscheme molokai " set foldmethod=syntax " let javascriptfold=1 -let g:indent_guides_auto_colors = 0 -hi IndentGuidesEven ctermbg=235 -hi IndentGuidesOdd ctermbg=240 -hi StatusLine ctermbg=202 -hi StatusLineNC ctermbg=246 ctermfg=0 -autocmd ColorScheme * hi IndentGuidesEven ctermbg=235 | hi IndentGuidesOdd ctermbg=240 +" let g:indent_guides_auto_colors = 0 +" hi IndentGuidesEven ctermbg=235 +" hi IndentGuidesOdd ctermbg=240 +" hi StatusLine ctermbg=202 +" hi StatusLineNC ctermbg=246 ctermfg=0 +" autocmd ColorScheme * hi IndentGuidesEven ctermbg=235 | hi IndentGuidesOdd ctermbg=240 set listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Highlight problematic whitespace +" hi SpellBad ctermbg=9 ctermfg=20 + + +" Switch tabs using Alt-1..9 +map ± 1gt +map ² 2gt +map ³ 3gt +map ´ 4gt +map µ 5gt +map ¶ 6gt +map · 7gt +map ¸ 8gt + + +" Ctrl-l -> Go to end of line +imap + +" Replace grep with silver-searcher +set grepprg=ag\ --nogroup\ --nocolor + +" Ctrl-Enter on normal mode -> Jump to definition using Tern +nmap :TernDefSplit + +" Ctrl-/ on normal mode -> Grep word under cursor ( Recursive ) +nmap  :grep! -r + +" Open the version of current file using fugitive, where is the string in clipboard. +nmap go :Gvsplit +:% + +nmap co :copen +nmap cc :cclose +nmap lo :lopen +nmap lc :lclose + +" Ctrl-Shift-T -> Open new tab +nmap :tabedit + +" Ctrl-S to save file { +nmap  :w +vmap  gv +imap  +" } + +" Alt-q Delete current buffer ( Close file ) +nmap ñ :bd +" map :TagbarToggle +nmap :waexe "mksession! " . v:this_session +" \\es Open vimrc in a new tab +nmap es :tabedit ~/.nvim/nvimrc +" \\en Open current file's snippets file in a new tab +nmap en :execute 'OpenSnippets' + + +" for moving tab { +" Ctrl-Shift + Page-Up/Down to rearrange tab { +nmap :execute 'tabmove ' . (tabpagenr()-2 ) +nmap :execute 'tabmove ' . tabpagenr() +nmap :execute 'tabmove ' . (tabpagenr()-2 ) +nmap :execute 'tabmove ' . tabpagenr() +" } + + +" Ctrl-Shift + j/k to move current window in to another tab{ +nmap :execute 'Mt' . (tabpagenr() -1) +nmap :execute 'Mt' . (tabpagenr() +1) +nmap :execute 'Mt' . (tabpagenr() -1) +nmap :execute 'Mt' . (tabpagenr() +1) +" } + + " \tt Toggle tab and spaces +nmap tt :let &expandtab=!&expandtab + " \tj Incraese additional two spaces width for tab +nmap tj :let &shiftwidth=&shiftwidth-2\|let &tabstop=&tabstop-2\|let &softtabstop=&softtabstop-2\|echo 'tabstop=' &tabstop + " \tj Decreases two spaces width for tab +nmap tk :let &shiftwidth=&shiftwidth+2\|let &tabstop=&tabstop+2\|let &softtabstop=&softtabstop+2\|echo 'tabstop=' &tabstop +" } + +" Session handling { +" List saved sessions +nmap sl :SessionList +" Save and close current session +nmap sc :SessionClose +" } + +" Ctrl-Enter in insert mode will append ';' to the line and insert a new line +imap A; + +" Ctrl-Enter in normal mode will jump to tag definition using cscope +" nmap :vert scs f g +" Ctrl-? in normal mode will jump to tag references using cscope +" nmap :vert scs f t + +" Alt + Arrows to Moving cursor to different windows { +nmap k +nmap j +nmap l +nmap h +" } + + +"for easy quote/unquote { +" \\ + a[add] / d[delete] + q[single quote] / Q [Double quote] +" \\dQ remove double quote +nmap dQ ds" +" \\dQ add double quote +nmap aQ ysiw" +" \\dQ remove single quote +nmap dq ds' +" \\dQ remove double quote +nmap aq ysiw' +" } + + +" format JSON { +nmap jt :%!python -m json.tool:set filetype=json +" } + + +" Alt + [1-8] to Switch tabs { +map 1 1gt +map 2 2gt +map 3 3gt +map 4 4gt +map 5 5gt +map 6 6gt +map 7 7gt +map 8 8gt +" } + +" NerdTree { +nmap ac ToggleAutoCloseMappings +map :NERDTreeToggle:NERDTreeMirror +map e :NERDTreeFind +nmap nt :NERDTreeFind +" } + + +" Tabularize { +nmap a& :Tabularize /& +vmap a& :Tabularize /& +nmap a= :Tabularize /= +vmap a= :Tabularize /= +nmap a: :Tabularize /: +vmap a: :Tabularize /: +nmap a:: :Tabularize /:\zs +vmap a:: :Tabularize /:\zs +nmap a, :Tabularize /, +vmap a, :Tabularize /, +vmap a// :Tabularize /\/\/ +nmap a :Tabularize / +vmap a :Tabularize / +" } +