mirror of https://github.com/harish2704/dotFiles
1 changed files with 336 additions and 0 deletions
@ -0,0 +1,336 @@ |
|||||
|
" 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 { |
||||
|
nmap <c-s> :w<CR> |
||||
|
vmap <c-s> <Esc><c-s>gv |
||||
|
imap <c-s> <Esc><c-s> |
||||
|
map <F8> :TagbarToggle |
||||
|
nmap <F2> :wa<Bar>exe "mksession! " . v:this_session<CR> |
||||
|
set mouse=a |
||||
|
" cmap cwd lcd %:p:h |
||||
|
" cmap cd. lcd %:p:h |
||||
|
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 |
||||
|
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=syntax |
||||
|
au FileType html setlocal foldmethod=syntax |
||||
|
set path=., |
||||
|
let javaScript_fold=1 " 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 |
||||
|
autocmd FileType java set foldmethod=indent |
||||
|
autocmd FileType java set foldmethod=indent |
||||
|
autocmd FileType html set foldmethod=indent |
||||
|
nmap <Leader><Leader>es :tabedit ~/.nvim/nvimrc <CR> |
||||
|
" Open current file's snippets file in a new tab |
||||
|
nmap <Leader><Leader>en :execute 'OpenSnippets'<CR> |
||||
|
set noswapfile |
||||
|
" } |
||||
|
|
||||
|
" for moving tab { |
||||
|
nmap <C-S-PageUp> :execute 'tabmove ' . (tabpagenr()-2 )<CR> |
||||
|
nmap <C-S-PageDown> :execute 'tabmove ' . tabpagenr()<CR> |
||||
|
nmap <C-S-j> :execute 'Mt' . (tabpagenr() -1) <CR> |
||||
|
nmap <C-S-k> :execute 'Mt' . (tabpagenr() +1) <CR> |
||||
|
" } |
||||
|
|
||||
|
" 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 expandtab " Tabs are spaces, not tabs |
||||
|
set tabstop=4 " An indentation every four columns |
||||
|
set softtabstop=4 " Let backspace delete indent |
||||
|
nmap <Leader>tt :let &expandtab=!&expandtab<CR> |
||||
|
nmap <Leader>tj :let &shiftwidth=&shiftwidth-2\|let &tabstop=&tabstop-2\|let &softtabstop=&softtabstop-2\|echo 'tabstop=' &tabstop<CR> |
||||
|
nmap <Leader>tk :let &shiftwidth=&shiftwidth+2\|let &tabstop=&tabstop+2\|let &softtabstop=&softtabstop+2\|echo 'tabstop=' &tabstop<CR> |
||||
|
" } |
||||
|
|
||||
|
" 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 |
||||
|
" } |
||||
|
|
||||
|
|
||||
|
" 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+=\ [%{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 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 <Tab> 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)$', |
||||
|
\ '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" |
||||
|
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 <Leader>ac <Plug>ToggleAutoCloseMappings |
||||
|
" } |
||||
|
" NerdTree { |
||||
|
map <C-e> :NERDTreeToggle<CR>:NERDTreeMirror<CR> |
||||
|
map <leader>e :NERDTreeFind<CR> |
||||
|
nmap <leader>nt :NERDTreeFind<CR> |
||||
|
|
||||
|
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 |
||||
|
" } |
||||
|
|
||||
|
" Tabularize { |
||||
|
nmap <Leader>a& :Tabularize /&<CR> |
||||
|
vmap <Leader>a& :Tabularize /&<CR> |
||||
|
nmap <Leader>a= :Tabularize /=<CR> |
||||
|
vmap <Leader>a= :Tabularize /=<CR> |
||||
|
nmap <Leader>a: :Tabularize /:<CR> |
||||
|
vmap <Leader>a: :Tabularize /:<CR> |
||||
|
nmap <Leader>a:: :Tabularize /:\zs<CR> |
||||
|
vmap <Leader>a:: :Tabularize /:\zs<CR> |
||||
|
nmap <Leader>a, :Tabularize /,<CR> |
||||
|
vmap <Leader>a, :Tabularize /,<CR> |
||||
|
vmap <Leader>a// :Tabularize /\/\/<CR> |
||||
|
nmap <Leader>a<Bar> :Tabularize /<Bar><CR> |
||||
|
vmap <Leader>a<Bar> :Tabularize /<Bar><CR> |
||||
|
" } |
||||
|
|
||||
|
" Session List { |
||||
|
set sessionoptions=blank,buffers,curdir,tabpages,winsize,resize,winpos |
||||
|
" nmap <leader><leader>c :JavaCorrect<cr> |
||||
|
" nmap <leader>pt :ProjectsTree<CR> |
||||
|
nmap <leader>sl :SessionList<CR> |
||||
|
nmap <leader>sc :SessionClose<CR> |
||||
|
" } |
||||
|
|
||||
|
" JSON { |
||||
|
nmap <leader>jt <Esc>:%!python -m json.tool<CR><Esc>:set filetype=json<CR> |
||||
|
" } |
||||
|
|
||||
|
" for JavaScript syntax checking { |
||||
|
let g:syntastic_javascript_checkers = ['jslint'] |
||||
|
" } |
||||
|
|
||||
|
"for easy quote/unquote { |
||||
|
nmap <Leader><Leader>dQ ds" |
||||
|
nmap <Leader><Leader>aQ ysiw" |
||||
|
nmap <Leader><Leader>dq ds' |
||||
|
nmap <Leader><Leader>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 |
||||
|
" } |
||||
|
" colorscheme colorful256 |
||||
|
" colorscheme mrkn256 |
||||
|
set wrap |
||||
|
" colorscheme desert256 |
||||
|
" colorscheme 256-grayvim |
||||
|
" colorscheme jellybeans |
||||
|
colorscheme distinguished |
||||
|
" 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 cursorline " Highlight current line |
||||
|
set listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Highlight problematic whitespace |
||||
|
let g:ycm_key_list_select_completion = [ '<Down>'] |
||||
|
imap <Tab> <Plug>snipMateNextOrTrigger |
||||
|
nmap <M-Up> <C-W>k |
||||
|
nmap <M-Down> <C-W>j |
||||
|
nmap <M-Right> <C-W>l |
||||
|
nmap <M-Left> <C-W>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 ± <ESC>1gti |
||||
|
imap ² <ESC>2gti |
||||
|
imap ³ <ESC>3gti |
||||
|
imap ´ <ESC>4gti |
||||
|
imap µ <ESC>5gti |
||||
|
imap ¶ <ESC>6gti |
||||
|
imap · <ESC>7gti |
||||
|
imap ¸ <ESC>8gti |
||||
|
|
||||
|
map ± 1gt |
||||
|
map ² 2gt |
||||
|
map ³ 3gt |
||||
|
map ´ 4gt |
||||
|
map µ 5gt |
||||
|
map ¶ 6gt |
||||
|
map · 7gt |
||||
|
map ¸ 8gt |
||||
|
|
||||
|
imap <C-CR> <ESC>A;<CR> |
Loading…
Reference in new issue