From 0b7ceb1928a1d58682923fb18489891bd9d88281 Mon Sep 17 00:00:00 2001 From: "Harish.K" Date: Sat, 25 Apr 2015 20:00:33 +0530 Subject: [PATCH] ported vimrc to nvimrc --- home/.nvim/nvimrc | 409 +++++++++++++++++++++++++--------------------- 1 file changed, 226 insertions(+), 183 deletions(-) diff --git a/home/.nvim/nvimrc b/home/.nvim/nvimrc index 39cc71a..98248ac 100644 --- a/home/.nvim/nvimrc +++ b/home/.nvim/nvimrc @@ -1,29 +1,84 @@ -" pathogen -" runtime bundle/pathogen/autoload/pathogen.vim -" execute pathogen#infect() - - " This file is inspired by spf13's vimrc -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" set t_Co=256 -" keyboard { +" Ctrl-S to save file { nmap :w vmap gv imap -map :TagbarToggle +" } +" map :TagbarToggle nmap :waexe "mksession! " . v:this_session -set mouse=a -" cmap cwd lcd %:p:h -" cmap cd. lcd %:p:h -set timeout timeoutlen=1000 ttimeoutlen=100 -: " } +" \\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 +" } + +"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 +" } + + set mouse=a + " cmap cwd lcd %:p:h + " cmap cd. lcd %:p:h + set timeout timeoutlen=1000 ttimeoutlen=100 " My settings { filetype on " required! @@ -36,8 +91,7 @@ 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=syntax -au FileType html setlocal foldmethod=syntax +au FileType xml setlocal foldmethod=indent set path=., let javaScript_fold=1 " JavaScript let perl_fold=1 " Perl @@ -50,35 +104,24 @@ let xml_syntax_folding=1 " XML autocmd FileType java set foldmethod=indent autocmd FileType java set foldmethod=indent autocmd FileType html set foldmethod=indent -nmap es :tabedit ~/.nvim/nvimrc -" Open current file's snippets file in a new tab -nmap en :execute 'OpenSnippets' +autocmd FileType javascript set foldmethod=indent set noswapfile " } -" for moving tab { -nmap :execute 'tabmove ' . (tabpagenr()-2 ) -nmap :execute 'tabmove ' . tabpagenr() -nmap :execute 'Mt' . (tabpagenr() -1) -nmap :execute 'Mt' . (tabpagenr() +1) -" } " for formating { " set nowrap " Wrap long lines set autoindent " Indent at the same level of the previous line -set shiftwidth=4 " Use indents of 4 spaces +set shiftwidth=2 " Use indents of 4 spaces set expandtab " Tabs are spaces, not tabs -set tabstop=4 " An indentation every four columns -set softtabstop=4 " Let backspace delete indent -nmap tt :let &expandtab=!&expandtab -nmap tj :let &shiftwidth=&shiftwidth-2\|let &tabstop=&tabstop-2\|let &softtabstop=&softtabstop-2\|echo 'tabstop=' &tabstop -nmap tk :let &shiftwidth=&shiftwidth+2\|let &tabstop=&tabstop+2\|let &softtabstop=&softtabstop+2\|echo 'tabstop=' &tabstop -" } +set tabstop=2 " An indentation every four columns +set softtabstop=2 " Let backspace delete indent " for java { 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 " } @@ -86,15 +129,16 @@ autocmd BufRead *.java set suffixesadd=.java,.xml set showmode " Display the current mode if has('statusline') - set laststatus=2 - " Broken down into easily includeable segments - set statusline=%w%h%m%r " Options - " set statusline+=%{fugitive#statusline()} " Git Hotness - " set statusline+=\ [%{&ff}/%Y] " Filetype - set statusline+=\ [%{winnr()}] " Filetype - set statusline+=%<%f\ " Filename - " set statusline+=\ [%{getcwd()}] " Current dir - set statusline+=%=%-14.(%l,%c%V%)\ %p%% " Right aligned file nav info + set laststatus=2 + " Broken down into easily includeable segments + set statusline=%w%h%m%r " Options + " set statusline+=%{fugitive#statusline()} " Git Hotness + " set statusline+=\ [%{&ff}/%Y] " Filetype + set statusline+=\ [%n] " Filetype + " set statusline+=\ [%{winnr()}] " Filetype + set statusline+=%<%f\ " Filename + " set statusline+=\ [%{getcwd()}] " Current dir + set statusline+=%=%-14.(%l,%c%V%)\ %p%% " Right aligned file nav info endif set backspace=indent,eol,start " Backspace for dummies @@ -120,93 +164,13 @@ let g:ctrlp_working_path_mode = 0 let g:ctrlp_show_hidden = 1 " custom file/folder ignores let g:ctrlp_custom_ignore = { - \ 'dir': '\v[\/](\.git|\.hg|\.svn|\.ve|node_modules)$', - \ 'file': '\v\.(o|pyc|class)$', - \ 'link': '', - \ } + \ 'dir': '\v[\/](\.git|\.hg|\.svn|\.ve|node_modules)$', + \ 'file': '\v\.(o|pyc|class)$', + \ 'link': '', + \ } "}" -"for Bundle { -set nocompatible " be iMproved -set rtp+=~/.nvim/bundle/vundle/ -call vundle#rc() -" let Vundle manage Vundle -" required! -" Bundle 'Rykka/localbundle.vim' -Bundle 'gmarik/vundle' -" Bundle 'jelera/vim-javascript-syntax' -Bundle 'Lokaltog/vim-distinguished' -" Bundle 'vim-scripts/SyntaxRange' -" Bundle 'chrisbra/NrrwRgn' -Bundle 'harish2704/vim-snippets' -Bundle 'git://github.com/maxbrunsfeld/vim-yankstack.git' -Bundle 'vim-scripts/AutoComplPop' -" Bundle 'Valloric/YouCompleteMe' -" Bundle 'marijnh/tern_for_vim' -" Bundle 'briancollins/vim-jst' -" Bundle 'vim-scripts/EasyGrep' -Bundle 'heavenshell/vim-jsdoc' -" Bundle 'mustache/vim-mode' -Bundle 'AndrewRadev/vim-eco' -Bundle 'kchmck/vim-coffee-script' -Bundle 'harish2704/harish2704-vim' -Bundle 'scrooloose/nerdtree' -Bundle 'spf13/vim-autoclose' -Bundle 'godlygeek/tabular' -Bundle 'kien/ctrlp.vim' -Bundle 'vim-scripts/sessionman.vim' -Bundle 'nathanaelkane/vim-indent-guides' -Bundle 'MarcWeber/vim-addon-mw-utils' -Bundle 'tomtom/tlib_vim' -Bundle 'garbas/vim-snipmate' -Bundle 'scrooloose/nerdcommenter' -Bundle 'scrooloose/syntastic' -Bundle 'vim-scripts/DoxygenToolkit.vim' -Bundle 'rstacruz/sparkup', {'rtp': 'vim/'} -Bundle 'Lokaltog/vim-easymotion' -Bundle 'tpope/vim-surround' -" Bundle 'floobits/floobits-neovim' -" Bundle 'tpope/vim-fugitive' - -" My Bundles here: -" -" original repos on github -" vim-scripts repos -" Bundle 'L9' -" Bundle 'FuzzyFinder' -" Bundle 'git://git.wincent.com/command-t.git' -" Bundle 'vim-scripts/Auto-Pairs' -" Bundle 'Raimondi/delimitMate.git' -" Bundle 'bkad/CamelCaseMotion' -" Bundle 'vim-scripts/boxdraw' -" Bundle 'vim-scripts/Vim-JDE' -" Bundle 'maksimr/vim-jsbeautify' -" Bundle 'pangloss/vim-javascript' -" Bundle 'amiorin/vim-project' -" Bundle 'flazz/vim-colorschemes' -" Bundle 'leshill/vim-json' -Bundle 'majutsushi/tagbar' -" Bundle 'amirh/HTML-AutoCloseTag' -" Bundle 'Shougo/eocomplcache' -" Bundle 'Shougo/neocomplcache' -" Bundle 'digitaltoad/vim-jade' -" Bundle 'vim-scripts/JavaScript-Indent' -" Bundle 'git://github.com/vim-scripts/autoload_cscope.vim.git' -" Bundle 'int3/vim-taglist-plus' -" Bundle 'vim-scripts/matchit.zip' -" Bundle 'vim-scripts/adt.vim' -" Bundle 'tpope/eclim' -" Source support_function.nvim to support vim-snippets. -if filereadable(expand("~/.nvim/bundle/vim-snippets/snippets/support_functions.vim")) - source ~/.nvim/bundle/vim-snippets/snippets/support_functions.vim -endif - -" if isdirectory(expand('~/.nvim/bundle/localbundle.vim')) - " call localbundle#init() -" endif -" } - " for JS { let g:html_indent_inctags = "html,body,head,tbody" let g:html_indent_script1 = "inc" @@ -217,9 +181,9 @@ let g:html_indent_style1 = "inc" " AutoCloseTag { " Make it so AutoCloseTag works for xml and xhtml files as well au FileType xhtml,xml ru ftplugin/html/autoclosetag.vim -nmap ac ToggleAutoCloseMappings " } " NerdTree { +nmap ac ToggleAutoCloseMappings map :NERDTreeToggle:NERDTreeMirror map e :NERDTreeFind nmap nt :NERDTreeFind @@ -254,36 +218,155 @@ vmap a :Tabularize / set sessionoptions=blank,buffers,curdir,tabpages,winsize,resize,winpos " nmap c :JavaCorrect " nmap pt :ProjectsTree -nmap sl :SessionList -nmap sc :SessionClose " } -" JSON { -nmap jt :%!python -m json.tool:set filetype=json -" } " for JavaScript syntax checking { let g:syntastic_javascript_checkers = ['jslint'] " } -"for easy quote/unquote { -nmap dQ ds" -nmap aQ ysiw" -nmap dq ds' -nmap aq ysiw' -" } " gides { " let g:indent_guides_start_level = 2 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 listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Highlight problematic whitespace + + +" let Gtags_Auto_Map = 1 +let Gtags_VerticalWindow = 1 +let Gtags_Auto_Update = 1 +let GtagsCscope_Auto_Load = 1 + + +" set lazyredraw +" set ttyfast +let g:sparkupNextMapping = '' + + +" for taggatron. +" let g:tagcommands = { +" \ "php" : { +" \ "tagfile" : ".php.tags", +" \ "args" : "-R --langmap=PHP:+.mod" +" \ } +" \} + + +"for Bundle { +set nocompatible " be iMproved +set rtp+=~/.nvim/bundle/vundle/ +call vundle#rc() +" let Vundle manage Vundle +" required! +Bundle 'gmarik/vundle' +" My Bundles here: +" +" original repos on github +" Bundle 'tpope/vim-fugitive' +Bundle 'Lokaltog/vim-easymotion' +Bundle 'Lokaltog/vim-distinguished' +Bundle 'rstacruz/sparkup', {'rtp': 'vim/'} +" vim-scripts repos +Bundle 'L9' +Bundle 'FuzzyFinder' +" non github repos +" Bundle 'git://git.wincent.com/command-t.git' +" Bundle 'git://github.com/vim-scripts/YankRing.vim.git' +Bundle 'git://github.com/maxbrunsfeld/vim-yankstack.git' +" Bundle 'vim-scripts/Auto-Pairs' +Bundle 'vim-scripts/DoxygenToolkit.vim' +" Bundle 'Raimondi/delimitMate.git' +" Bundle 'bkad/CamelCaseMotion' +" Bundle 'vim-scripts/boxdraw' + + +" Bundle 'vim-scripts/Vim-JDE' +" Bundle 'maksimr/vim-jsbeautify' +Bundle 'scrooloose/syntastic' +" Bundle 'pangloss/vim-javascript' +Bundle 'scrooloose/nerdcommenter' +Bundle 'garbas/vim-snipmate' +" Bundle 'amiorin/vim-project' +Bundle 'MarcWeber/vim-addon-mw-utils' +Bundle 'tomtom/tlib_vim' +Bundle 'nathanaelkane/vim-indent-guides' +Bundle 'flazz/vim-colorschemes' +Bundle 'vim-scripts/sessionman.vim' +Bundle 'kien/ctrlp.vim' +" Bundle 'leshill/vim-json' +Bundle 'godlygeek/tabular' +Bundle 'majutsushi/tagbar' +" Bundle 'amirh/HTML-AutoCloseTag' +Bundle 'tpope/vim-surround' +Bundle 'vim-scripts/AutoComplPop' +" 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 'spf13/PIV' +" Bundle 'joonty/vim-taggatron' + +"Bundle 'git://github.com/vim-scripts/autoload_cscope.vim.git' +" Bundle 'int3/vim-taglist-plus' +" Bundle 'vim-scripts/EasyGrep' +Bundle 'briancollins/vim-jst' +Bundle 'vim-scripts/matchit.zip' +Bundle 'harish2704/vim-snippets' +Bundle 'vim-scripts/SyntaxRange' +Bundle 'harish2704/gtags.vim' +" Bundle 'vim-scripts/guicolorscheme.vim' +" Bundle 'vim-scripts/CSApprox' +" Bundle 'vim-scripts/adt.vim' +" Bundle 'tpope/eclim' + +" Source support_function.vim to support vim-snippets. +if filereadable(expand("~/.nvim/bundle/vim-snippets/snippets/support_functions.vim")) + source ~/.nvim/bundle/vim-snippets/snippets/support_functions.vim +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" + " colorscheme colorful256 " colorscheme mrkn256 -set wrap " colorscheme desert256 " colorscheme 256-grayvim " colorscheme jellybeans +" colorscheme devbox-dark-256 +" colorscheme lodestone colorscheme distinguished " set foldmethod=syntax " let javascriptfold=1 @@ -293,44 +376,4 @@ 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 cursorline " Highlight current line set listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Highlight problematic whitespace -let g:ycm_key_list_select_completion = [ ''] -imap snipMateNextOrTrigger -nmap k -nmap j -nmap l -nmap h - -map 1 1gt -map 2 2gt -map 3 3gt -map 4 4gt -map 5 5gt -map 6 6gt -map 7 7gt -map 8 8gt -set lazyredraw -set ttyfast - - -imap ± 1gti -imap ² 2gti -imap ³ 3gti -imap ´ 4gti -imap µ 5gti -imap ¶ 6gti -imap · 7gti -imap ¸ 8gti - -map ± 1gt -map ² 2gt -map ³ 3gt -map ´ 4gt -map µ 5gt -map ¶ 6gt -map · 7gt -map ¸ 8gt - -imap A;