diff --git a/home/.config/nvim/init.vim b/home/.config/nvim/init.vim deleted file mode 120000 index afa85ef..0000000 --- a/home/.config/nvim/init.vim +++ /dev/null @@ -1 +0,0 @@ -nvimrc \ No newline at end of file diff --git a/home/.config/nvim/init.vim b/home/.config/nvim/init.vim new file mode 100644 index 0000000..adea83d --- /dev/null +++ b/home/.config/nvim/init.vim @@ -0,0 +1,521 @@ +" This file is inspired by spf13's vimrc + +" set t_Co=256 + +set mouse=a + +" Cd to current file's directory +command! Cwd :execute 'cd %:p:h' +command! Reload :execute "bufdo execute 'checktime . bufnr('%')'" + +" set timeout timeoutlen=1000 ttimeoutlen=100 + +" My settings { +filetype on " required! +set clipboard=unnamedplus +set history=1000 " Store a ton of history (default is 20) +set spell " Spell checking on +set hidden " Allow buffer switching without saving +" No need to specify swap directory as it is the default +filetype plugin indent on " Automatically detect file types. +let NERDSpaceDelims=1 +set listchars=tab:»\ ,eol:¶,trail:·,precedes:…,extends:… +set noswapfile +set title + +set path=., +set foldlevel=99 + +let javaScript_fold=0 " JavaScript +let perl_fold=1 " Perl +" let php_folding=1 " PHP +let r_syntax_folding=1 " R +let ruby_fold=1 " Ruby +let sh_fold_enabled=1 " sh +let vimsyn_folding='af' " Vim script +" let xml_syntax_folding=1 " XML + +set foldmethod=indent +autocmd FileType java set foldmethod=indent +autocmd FileType html set foldmethod=indent +autocmd FileType javascript set foldmethod=indent +autocmd FileType xml set foldmethod=indent +" } + + +" for formating { +" set nowrap " Wrap long lines +set autoindent " Indent at the same level of the previous line +set shiftwidth=2 " Use indents of 4 spaces +set expandtab " Tabs are spaces, not tabs +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 +autocmd BufEnter *.gradle set ft=groovy +" } + + +" for UI { + +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+=\ [%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 +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 +set wildmenu " Show list instead of just completing +set wildmode=list:longest,full " Command completion, list matches, then longest common part, then all. +set whichwrap=b,s,h,l,<,>,[,] " Backspace and cursor keys wrap too +set scrolljump=5 " Lines to scroll when cursor leaves screen +set scrolloff=3 " Minimum lines to keep above and below cursor +set list +" } + +"for Ctrl-P{ + +let g:ctrlp_user_command = {} +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|bower_components)$', + \ 'file': '\v\.(o|pyc|class)$', + \ 'link': '', + \ } +"}" + + +" for JS { +let g:html_indent_inctags = "html,body,head,tbody" +let g:html_indent_script1 = "inc" +let g:html_indent_style1 = "inc" + +let b:javascript_fold = 0 +" let g:tern_set_omni_function = 0 + +" } + + +" For JSX { + let g:jsx_ext_required = 0 +"} + + +" AutoCloseTag { +" Make it so AutoCloseTag works for xml and xhtml files as well +au FileType xhtml,xml ru ftplugin/html/autoclosetag.vim +" } + +let NERDTreeShowBookmarks=1 +let NERDTreeIgnore=['\.pyc', '\~$', '\.swo$', '\.swp$', '\.git', '\.hg', '\.svn', '\.bzr'] +let NERDTreeChDirMode=0 +let NERDTreeQuitOnOpen=1 +let NERDTreeMouseMode=2 +let NERDTreeShowHidden=1 +let NERDTreeKeepTreeInNewTab=1 +let g:nerdtree_tabs_open_on_gui_startup=0 +" } + + +" Session List { +set sessionoptions=blank,buffers,curdir,tabpages,winsize,resize,winpos +" nmap c :JavaCorrect +" nmap pt :ProjectsTree +" } + + +" for JavaScript syntax checking { +let g:syntastic_javascript_checkers = ['eslint'] +let g:syntastic_always_populate_loc_list = 1 +" let g:syntastic_javascript_checkers = ['jslint'] +" } + + +" 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 +" 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 +let g:sparkupNextMapping = '' + + +" for taggatron. +" let g:tagcommands = { +" \ "php" : { +" \ "tagfile" : ".php.tags", +" \ "args" : "-R --langmap=PHP:+.mod" +" \ } +" \} + + +"for Plug { +set nocompatible " be iMproved +" +" Use deoplete. +let g:deoplete#enable_at_startup = 1 +let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-v': 'vsplit' } + +" : close popup and save indent. +" inoremap =my_cr_function() +let s:ss=0 +let g:ss="" +function! s:my_cr_function() + if pumvisible() + let g:ss .= synIDattr( synID( line(".") , col("."), 1), "name") . ' - ' + " let g:ss .= col(".") . ' ' . virtcol(".") .' - ' + if s:ss == 1 + let s:ss = 0 + return "\" + else + let s:ss = 1 + return "\" + endif + else + return "\" + endif +endfunction + +let nvim_conf_root='~/.config/nvim/' +call plug#begin( ) +" My Plugs here: +" +" original repos on github +Plug 'tpope/vim-fugitive' +Plug 'Lokaltog/vim-easymotion' +" Plug 'Lokaltog/vim-distinguished' +" Plug 'junegunn/seoul256.vim' +" Plug 'whatyouhide/vim-gotham' +Plug 'rstacruz/sparkup' +" Plug 'L9' +" Plug 'FuzzyFinder' +" Plug 'git://git.wincent.com/command-t.git' +" Plug 'git://github.com/vim-scripts/YankRing.vim.git' +Plug 'git://github.com/maxbrunsfeld/vim-yankstack.git' +" Plug 'vim-scripts/Auto-Pairs' +Plug 'vim-scripts/DoxygenToolkit.vim' +" Plug 'Raimondi/delimitMate.git' +" Plug 'bkad/CamelCaseMotion' +" Plug 'vim-scripts/boxdraw' +" Plug 'vim-scripts/Vim-JDE' +" Plug 'maksimr/vim-jsbeautify' +Plug 'scrooloose/syntastic' +Plug 'pangloss/vim-javascript' +Plug 'mxw/vim-jsx' +" Plug 'othree/yajs.vim' +Plug 'harish2704/tern_for_vim' , { 'for': 'javascript' } +Plug 'scrooloose/nerdcommenter' +Plug 'garbas/vim-snipmate' +" Plug 'amiorin/vim-project' +Plug 'MarcWeber/vim-addon-mw-utils' +Plug 'tomtom/tlib_vim' +Plug 'nathanaelkane/vim-indent-guides' +" Plug 'flazz/vim-colorschemes' +Plug 'vim-scripts/sessionman.vim' +" Plug 'kien/ctrlp.vim' +" Plug 'leshill/vim-json' +Plug 'godlygeek/tabular' +Plug 'majutsushi/tagbar' +" Plug 'amirh/HTML-AutoCloseTag' +Plug 'tpope/vim-surround' +function! DoRemote(arg) + UpdateRemotePlugins +endfunction +Plug 'Shougo/deoplete.nvim', { 'do': function('DoRemote') } +" Plug 'vim-scripts/AutoComplPop' +" Plug 'Shougo/neocomplcache' +" Plug 'Valloric/YouCompleteMe' +" Plug 'Shougo/eocomplcache' +Plug 'spf13/vim-autoclose' +Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeFind' } +Plug 'git@github.com:harish2704/harish2704-vim' +Plug 'kchmck/vim-coffee-script', { 'for': 'coffee' } +Plug 'digitaltoad/vim-jade', { 'for': 'jade' } +Plug 'AndrewRadev/vim-eco', { 'for': [ 'ect', 'eco' ] } +" Plug 'mustache/vim-mode' +Plug 'mustache/vim-mustache-handlebars', { 'for': 'handlebars' } +Plug 'chrisbra/NrrwRgn' +Plug 'heavenshell/vim-jsdoc', { 'for': 'javascript' } +" Plug 'vim-scripts/JavaScript-Indent' +" Plug 'spf13/PIV' +" Plug 'joonty/vim-taggatron' +" Plug 'git://github.com/vim-scripts/autoload_cscope.vim.git' +" Plug 'int3/vim-taglist-plus' +" Plug 'vim-scripts/EasyGrep' +Plug 'briancollins/vim-jst', { 'for': 'jst' } +Plug 'vim-scripts/matchit.zip' +Plug 'git@github.com:harish2704/vim-snippets.git' +" Plug 'vim-scripts/SyntaxRange' +Plug 'harish2704/gtags.vim' +" Plug 'vim-scripts/guicolorscheme.vim' +" Plug 'vim-scripts/CSApprox' +" Plug 'vim-scripts/adt.vim' +" Plug 'tpope/eclim' +Plug 'tomasr/molokai' +Plug 'joonty/vdebug' +Plug 'junegunn/fzf', { 'dir': '~/.local/Apps/fzf' } +Plug 'junegunn/fzf.vim' +Plug 'vim-scripts/SyntaxComplete' +Plug 'justinj/vim-react-snippets' +Plug 'othree/javascript-libraries-syntax.vim' +Plug 'Glench/Vim-Jinja2-Syntax' +Plug 'kannokanno/previm' +Plug 'tyru/open-browser.vim' +call plug#end() + +" Source support_function.vim to support vim-snippets. +if filereadable(expand( g:nvim_conf_root ."bundle/vim-snippets/snippets/support_functions.vim")) + source g:nvim_conf_root . 'bundle/vim-snippets/snippets/support_functions.vim' +endif + +" } +let $FZF_DEFAULT_COMMAND='ag -g ""' +nmap :Files +nmap :Buffers + +" 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 +" colorscheme desert256 +" colorscheme 256-grayvim +" 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 +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 +autocmd BufEnter *.js nmap :TernDefSplit + +" Ctrl-/ on normal mode -> Grep word under cursor ( Recursive ) +nmap  :grep! -r +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 +execute( 'nmap es :tabedit '. g:nvim_conf_root .'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()+1 ) +nmap :execute 'tabmove ' . (tabpagenr()-2 ) +nmap :execute 'tabmove ' . ( tabpagenr()+1 ) +" } + + +" 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 terminal mode{ +tmap k +tmap j +tmap l +tmap 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' +" In insert mode, will quote current word +imap maysiw"`aa +" In insert mode, will quote current word with double quotes +imap maysiw'`ai +" } + + +" format JSON { +nmap jt :%!python -m json.tool:set filetype=json +" } + +" Alt + [1-8] to Switch tabs { +map 1gt +map 2gt +map 3gt +map 4gt +map 5gt +map 6gt +map 7gt +map 8gt +" } + +" For Terminal mode Alt + [1-8] to Switch tabs { +tmap 1gt +tmap 2gt +tmap 3gt +tmap 4gt +tmap 5gt +tmap 6gt +tmap 7gt +tmap 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 / +" } + + +" For terminal mode{ +tmap +" } + +" -> Reload current file +nmap :e! diff --git a/home/.config/nvim/nvimrc b/home/.config/nvim/nvimrc deleted file mode 100644 index adea83d..0000000 --- a/home/.config/nvim/nvimrc +++ /dev/null @@ -1,521 +0,0 @@ -" This file is inspired by spf13's vimrc - -" set t_Co=256 - -set mouse=a - -" Cd to current file's directory -command! Cwd :execute 'cd %:p:h' -command! Reload :execute "bufdo execute 'checktime . bufnr('%')'" - -" set timeout timeoutlen=1000 ttimeoutlen=100 - -" My settings { -filetype on " required! -set clipboard=unnamedplus -set history=1000 " Store a ton of history (default is 20) -set spell " Spell checking on -set hidden " Allow buffer switching without saving -" No need to specify swap directory as it is the default -filetype plugin indent on " Automatically detect file types. -let NERDSpaceDelims=1 -set listchars=tab:»\ ,eol:¶,trail:·,precedes:…,extends:… -set noswapfile -set title - -set path=., -set foldlevel=99 - -let javaScript_fold=0 " JavaScript -let perl_fold=1 " Perl -" let php_folding=1 " PHP -let r_syntax_folding=1 " R -let ruby_fold=1 " Ruby -let sh_fold_enabled=1 " sh -let vimsyn_folding='af' " Vim script -" let xml_syntax_folding=1 " XML - -set foldmethod=indent -autocmd FileType java set foldmethod=indent -autocmd FileType html set foldmethod=indent -autocmd FileType javascript set foldmethod=indent -autocmd FileType xml set foldmethod=indent -" } - - -" for formating { -" set nowrap " Wrap long lines -set autoindent " Indent at the same level of the previous line -set shiftwidth=2 " Use indents of 4 spaces -set expandtab " Tabs are spaces, not tabs -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 -autocmd BufEnter *.gradle set ft=groovy -" } - - -" for UI { - -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+=\ [%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 -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 -set wildmenu " Show list instead of just completing -set wildmode=list:longest,full " Command completion, list matches, then longest common part, then all. -set whichwrap=b,s,h,l,<,>,[,] " Backspace and cursor keys wrap too -set scrolljump=5 " Lines to scroll when cursor leaves screen -set scrolloff=3 " Minimum lines to keep above and below cursor -set list -" } - -"for Ctrl-P{ - -let g:ctrlp_user_command = {} -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|bower_components)$', - \ 'file': '\v\.(o|pyc|class)$', - \ 'link': '', - \ } -"}" - - -" for JS { -let g:html_indent_inctags = "html,body,head,tbody" -let g:html_indent_script1 = "inc" -let g:html_indent_style1 = "inc" - -let b:javascript_fold = 0 -" let g:tern_set_omni_function = 0 - -" } - - -" For JSX { - let g:jsx_ext_required = 0 -"} - - -" AutoCloseTag { -" Make it so AutoCloseTag works for xml and xhtml files as well -au FileType xhtml,xml ru ftplugin/html/autoclosetag.vim -" } - -let NERDTreeShowBookmarks=1 -let NERDTreeIgnore=['\.pyc', '\~$', '\.swo$', '\.swp$', '\.git', '\.hg', '\.svn', '\.bzr'] -let NERDTreeChDirMode=0 -let NERDTreeQuitOnOpen=1 -let NERDTreeMouseMode=2 -let NERDTreeShowHidden=1 -let NERDTreeKeepTreeInNewTab=1 -let g:nerdtree_tabs_open_on_gui_startup=0 -" } - - -" Session List { -set sessionoptions=blank,buffers,curdir,tabpages,winsize,resize,winpos -" nmap c :JavaCorrect -" nmap pt :ProjectsTree -" } - - -" for JavaScript syntax checking { -let g:syntastic_javascript_checkers = ['eslint'] -let g:syntastic_always_populate_loc_list = 1 -" let g:syntastic_javascript_checkers = ['jslint'] -" } - - -" 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 -" 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 -let g:sparkupNextMapping = '' - - -" for taggatron. -" let g:tagcommands = { -" \ "php" : { -" \ "tagfile" : ".php.tags", -" \ "args" : "-R --langmap=PHP:+.mod" -" \ } -" \} - - -"for Plug { -set nocompatible " be iMproved -" -" Use deoplete. -let g:deoplete#enable_at_startup = 1 -let g:fzf_action = { - \ 'ctrl-t': 'tab split', - \ 'ctrl-x': 'split', - \ 'ctrl-v': 'vsplit' } - -" : close popup and save indent. -" inoremap =my_cr_function() -let s:ss=0 -let g:ss="" -function! s:my_cr_function() - if pumvisible() - let g:ss .= synIDattr( synID( line(".") , col("."), 1), "name") . ' - ' - " let g:ss .= col(".") . ' ' . virtcol(".") .' - ' - if s:ss == 1 - let s:ss = 0 - return "\" - else - let s:ss = 1 - return "\" - endif - else - return "\" - endif -endfunction - -let nvim_conf_root='~/.config/nvim/' -call plug#begin( ) -" My Plugs here: -" -" original repos on github -Plug 'tpope/vim-fugitive' -Plug 'Lokaltog/vim-easymotion' -" Plug 'Lokaltog/vim-distinguished' -" Plug 'junegunn/seoul256.vim' -" Plug 'whatyouhide/vim-gotham' -Plug 'rstacruz/sparkup' -" Plug 'L9' -" Plug 'FuzzyFinder' -" Plug 'git://git.wincent.com/command-t.git' -" Plug 'git://github.com/vim-scripts/YankRing.vim.git' -Plug 'git://github.com/maxbrunsfeld/vim-yankstack.git' -" Plug 'vim-scripts/Auto-Pairs' -Plug 'vim-scripts/DoxygenToolkit.vim' -" Plug 'Raimondi/delimitMate.git' -" Plug 'bkad/CamelCaseMotion' -" Plug 'vim-scripts/boxdraw' -" Plug 'vim-scripts/Vim-JDE' -" Plug 'maksimr/vim-jsbeautify' -Plug 'scrooloose/syntastic' -Plug 'pangloss/vim-javascript' -Plug 'mxw/vim-jsx' -" Plug 'othree/yajs.vim' -Plug 'harish2704/tern_for_vim' , { 'for': 'javascript' } -Plug 'scrooloose/nerdcommenter' -Plug 'garbas/vim-snipmate' -" Plug 'amiorin/vim-project' -Plug 'MarcWeber/vim-addon-mw-utils' -Plug 'tomtom/tlib_vim' -Plug 'nathanaelkane/vim-indent-guides' -" Plug 'flazz/vim-colorschemes' -Plug 'vim-scripts/sessionman.vim' -" Plug 'kien/ctrlp.vim' -" Plug 'leshill/vim-json' -Plug 'godlygeek/tabular' -Plug 'majutsushi/tagbar' -" Plug 'amirh/HTML-AutoCloseTag' -Plug 'tpope/vim-surround' -function! DoRemote(arg) - UpdateRemotePlugins -endfunction -Plug 'Shougo/deoplete.nvim', { 'do': function('DoRemote') } -" Plug 'vim-scripts/AutoComplPop' -" Plug 'Shougo/neocomplcache' -" Plug 'Valloric/YouCompleteMe' -" Plug 'Shougo/eocomplcache' -Plug 'spf13/vim-autoclose' -Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeFind' } -Plug 'git@github.com:harish2704/harish2704-vim' -Plug 'kchmck/vim-coffee-script', { 'for': 'coffee' } -Plug 'digitaltoad/vim-jade', { 'for': 'jade' } -Plug 'AndrewRadev/vim-eco', { 'for': [ 'ect', 'eco' ] } -" Plug 'mustache/vim-mode' -Plug 'mustache/vim-mustache-handlebars', { 'for': 'handlebars' } -Plug 'chrisbra/NrrwRgn' -Plug 'heavenshell/vim-jsdoc', { 'for': 'javascript' } -" Plug 'vim-scripts/JavaScript-Indent' -" Plug 'spf13/PIV' -" Plug 'joonty/vim-taggatron' -" Plug 'git://github.com/vim-scripts/autoload_cscope.vim.git' -" Plug 'int3/vim-taglist-plus' -" Plug 'vim-scripts/EasyGrep' -Plug 'briancollins/vim-jst', { 'for': 'jst' } -Plug 'vim-scripts/matchit.zip' -Plug 'git@github.com:harish2704/vim-snippets.git' -" Plug 'vim-scripts/SyntaxRange' -Plug 'harish2704/gtags.vim' -" Plug 'vim-scripts/guicolorscheme.vim' -" Plug 'vim-scripts/CSApprox' -" Plug 'vim-scripts/adt.vim' -" Plug 'tpope/eclim' -Plug 'tomasr/molokai' -Plug 'joonty/vdebug' -Plug 'junegunn/fzf', { 'dir': '~/.local/Apps/fzf' } -Plug 'junegunn/fzf.vim' -Plug 'vim-scripts/SyntaxComplete' -Plug 'justinj/vim-react-snippets' -Plug 'othree/javascript-libraries-syntax.vim' -Plug 'Glench/Vim-Jinja2-Syntax' -Plug 'kannokanno/previm' -Plug 'tyru/open-browser.vim' -call plug#end() - -" Source support_function.vim to support vim-snippets. -if filereadable(expand( g:nvim_conf_root ."bundle/vim-snippets/snippets/support_functions.vim")) - source g:nvim_conf_root . 'bundle/vim-snippets/snippets/support_functions.vim' -endif - -" } -let $FZF_DEFAULT_COMMAND='ag -g ""' -nmap :Files -nmap :Buffers - -" 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 -" colorscheme desert256 -" colorscheme 256-grayvim -" 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 -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 -autocmd BufEnter *.js nmap :TernDefSplit - -" Ctrl-/ on normal mode -> Grep word under cursor ( Recursive ) -nmap  :grep! -r -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 -execute( 'nmap es :tabedit '. g:nvim_conf_root .'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()+1 ) -nmap :execute 'tabmove ' . (tabpagenr()-2 ) -nmap :execute 'tabmove ' . ( tabpagenr()+1 ) -" } - - -" 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 terminal mode{ -tmap k -tmap j -tmap l -tmap 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' -" In insert mode, will quote current word -imap maysiw"`aa -" In insert mode, will quote current word with double quotes -imap maysiw'`ai -" } - - -" format JSON { -nmap jt :%!python -m json.tool:set filetype=json -" } - -" Alt + [1-8] to Switch tabs { -map 1gt -map 2gt -map 3gt -map 4gt -map 5gt -map 6gt -map 7gt -map 8gt -" } - -" For Terminal mode Alt + [1-8] to Switch tabs { -tmap 1gt -tmap 2gt -tmap 3gt -tmap 4gt -tmap 5gt -tmap 6gt -tmap 7gt -tmap 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 / -" } - - -" For terminal mode{ -tmap -" } - -" -> Reload current file -nmap :e!