Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- filetype off
- set rtp+=~/.vim/vundle.git/
- call vundle#rc()
- set rtp+=~/.vim/bundle/powerline/powerline/bindings/vim
- "set statusline+=%#warningmsg#
- "set statusline+=%{SyntasticStatuslineFlag()}
- "set statusline+=%*
- let g:syntastic_enable_signs=1
- let g:syntastic_auto_loc_list=1
- let g:ctrlp_working_path_mode = 'ra'
- " Bundles
- "
- " original repos on github
- "Bundle 'vim-scripts/taglist.vim'
- Bundle 'majutsushi/tagbar'
- "Bundle 'joonty/vim-phpqa.git'
- "Bundle 'joonty/vim-phpunitqf'
- Bundle 'joonty/vdebug'
- " Php
- Bundle 'sumpygump/php-documentor-vim'
- Bundle 'sophacles/vim-processing'
- Bundle 'nelstrom/vim-visual-star-search'
- Bundle 'Lokaltog/powerline'
- Bundle 'spolu/dwm.vim'
- Bundle 'tpope/vim-unimpaired'
- Bundle 'airblade/vim-gitgutter'
- Bundle 'kien/ctrlp.vim'
- Bundle 'wikitopian/hardmode'
- Bundle 'tpope/vim-fugitive'
- Bundle 'sbl/scvim'
- Bundle 'vim-scripts/bufexplorer'
- Bundle 'aaronbieber/quicktask'
- Bundle 'vim-scripts/The-NERD-Commenter'
- Bundle 'tpope/vim-fugitive'
- Bundle 'tpope/vim-surround'
- Bundle 'vim-scripts/HTML-AutoCloseTag'
- Bundle 'scrooloose/nerdtree'
- "Bundle 'scrooloose/syntastic'
- Bundle 'vim-scripts/css_color.vim'
- " Color schemes
- Bundle 'tomasr/molokai'
- Bundle 'altercation/vim-colors-solarized'
- Bundle 'vim-scripts/OOP-javascript-indentation'
- let g:gitgutter_enabled = 0
- set nocompatible "Don't be compatible with vi
- " Enable filetype plugin
- filetype indent on
- filetype plugin on
- " Set to auto read when a file is changed from the outside
- set autoread
- set t_Co=16
- set background=dark
- set number "Show line numbering
- set numberwidth=1 "Use 1 col + 1 space for numbers
- " With a map leader it's possible to do extra key combinations
- let mapleader = ","
- let g:mapleader = ","
- " Toggle NERDTree
- map <leader>n :NERDTreeToggle<CR>
- set backupdir=~/.vim/backup " where to put backup files
- set directory=~/.vim/temp " where to put swap files
- " Fast saving
- nmap <leader>w :w!<cr>
- " Fast editing of the .vimrc
- map <leader>e :e $MYVIMRC<cr>
- " When .vimrc is edited, reload it
- augroup MyAutoCmd
- autocmd!
- augroup END
- autocmd MyAutoCmd BufWritePost $MYVIMRC nested source $MYVIMRC
- "au! BufWritePost .vimrc nested source %
- set title
- " Remap esc key
- inoremap jk <esc>
- " work more logically with wrapped lines
- noremap j gj
- noremap k gk
- set smartcase " search case sensitive if caps on
- set showcmd " Display what command is waiting for an operator
- autocmd BufNewFile,BufRead /*apache* setfiletype apache
- autocmd BufNewFile,BufRead /*lighttpd*.conf setfiletype lighty
- autocmd BufNewFile,BufRead {.,_}vimrc set foldmethod=marker
- " PhpDocumentor
- au BufRead,BufNewFile *.php inoremap <buffer> <leader>p :call PhpDoc()<CR>
- au BufRead,BufNewFile *.php nnoremap <buffer> <leader>p :call PhpDoc()<CR>
- au BufRead,BufNewFile *.php vnoremap <buffer> <leader>p :call PhpDocRange()<CR>
- " Nicer highlighting of completion popup
- highlight Pmenu guibg=brown gui=bold
- set scrolloff=7 "Set 7 lines to the cursors when moving vertical
- set wildmenu "Autocomplete features in the status bar
- set ruler "Always show current position
- set cmdheight=2 "The commandbar height
- set hidden "Change buffer without saving
- " Backspae config
- set backspace=eol,start,indent
- set whichwrap+=<,>,h,l
- set ignorecase "Search is case insensitive
- set hlsearch "Highlight matches to the search
- set incsearch "Show best match so far
- set magic "Set magic on for regular expressions
- set showmatch "Show matching bracets when text indicator is over them
- set mat=2 "How many tenths of a second to blink
- " No sound on errors
- set noerrorbells
- set novisualbell
- set t_vb=
- " Colors and fonts {{{1
- set term=screen-256color
- syntax enable "Enable syntax hl
- syntax on "Enable syntax hl
- "colorscheme molokai
- "let g:solarized_termcolors=256
- colorscheme solarized
- set guifont=Envy\ Code\ R\ for\ Powerline
- set encoding=utf-8
- filetype plugin on
- "set guifont=Inconsolata\ for\ Powerline\
- let g:Powerline_symbols="fancy"
- " Text, tab and indent related {{{1
- set expandtab "Transform tabs into spaces
- set shiftwidth=4 "sw 4 spaces (used on auto indent)
- set shiftwidth=4 "sw 4 spaces (used on auto indent)
- set tabstop=4 "4 spaces as a tab for bs/del
- set smarttab
- set wrap linebreak tw=80 wm=0 "Wrap lines
- set ai "Auto indent
- set si "Smart indent
- " }}}1
- " Moving around, tabs and buffers {{{1
- " Move to previous and next buffer
- :nmap <C-n> :bnext<CR>
- :nmap <C-p> :bprev<CR>
- " Map space to / (search) and c-space to ? (backwards search)
- map <space> /
- map <c-space> ?
- map <silent> <leader><cr> :noh<cr>
- " Smart way to move between windows
- map <C-j> <C-W>j
- map <C-k> <C-W>k
- map <C-h> <C-W>h
- map <C-l> <C-W>l
- " Mappings to access buffers (don't use "\p" because a
- " delay before pressing "p" would accidentally paste).
- " ,l : list buffers
- " ,b ,f ,g : go back/forward/last-used
- " ,1 ,2 ,3 : go to buffer 1/2/3 etc
- nnoremap <Leader>l :ls<CR>
- nnoremap <Leader>b :bp<CR>
- nnoremap <Leader>f :bn<CR>
- nnoremap <Leader>g :e#<CR>
- nnoremap <Leader>1 :1b<CR>
- nnoremap <Leader>2 :2b<CR>
- nnoremap <Leader>3 :3b<CR>
- nnoremap <Leader>4 :4b<CR>
- nnoremap <Leader>5 :5b<CR>
- nnoremap <Leader>6 :6b<CR>
- nnoremap <Leader>7 :7b<CR>
- nnoremap <Leader>8 :8b<CR>
- nnoremap <Leader>9 :9b<CR>
- nnoremap <Leader>0 :10b<CR>
- " Close the current buffer. Bclose defined below.
- " dovrebbe giĆ esistere in bufkill.vim
- " map <leader>bd :Bclose<cr>
- " Use the arrows to do something useful
- map <right> :bn<cr>
- map <left> :bp<cr>
- " MiniBufExplorer settings
- let g:miniBufExplModSelTarget = 1
- let g:miniBufExplorerMoreThanOne = 2
- let g:miniBufExplModSelTarget = 0
- let g:miniBufExplUseSingleClick = 1
- let g:miniBufExplMapWindowNavVim = 1
- " Change directory to the file I'm editing
- "autocmd BufEnter * lcd %:p:h
- " When pressing <leader>cd switch to the directory of the open buffer
- map <leader>cd :cd %:p:h<cr>
- " Function to close buffer?
- command! Bclose call <SID>BufcloseCloseIt()
- function! <SID>BufcloseCloseIt()
- let l:currentBufNum = bufnr("%")
- let l:alternateBufNum = bufnr("#")
- if buflisted(l:alternateBufNum)
- buffer #
- else
- bnext
- endif
- if bufnr("%") == l:currentBufNum
- new
- endif
- if buflisted(l:currentBufNum)
- execute("bdelete! ".l:currentBufNum)
- endif
- endfunction
- " Specify the behavior when switching between buffers
- try
- set switchbuf=usetab
- set stal=2
- catch
- endtry
- nnoremap <C-e> 3<C-e>
- nnoremap <C-y> 3<C-y>
- " Always hide the statusline
- set laststatus=2
- " Format the statusline
- set statusline=\ %F%m%r%h\ %w\ \ [%Y]\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c
- "set statusline=%F%m%w\ Line:\ %l\/%L[%p%%]\ Col:\ %c\ Buf:\ #%n\ [%Y]\ [\%03.3b]\[\%02.2B]
- function! CurDir()
- let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g")
- return curdir
- endfunction
- " tab labels show the filename without path(tail)
- set guitablabel=%N/\ %t\ %M
- """ Windows
- if exists(":tab") " Try to move to other windows if changing buf
- set switchbuf=useopen,usetab
- else " Try other windows & tabs if available
- set switchbuf=useopen
- endif
- """" Messages, Info, Status
- set shortmess+=a " Use [+] [RO] [w] for modified, read-only, modified
- set report=0 " Notify me whenever any lines have changed
- set confirm " Y-N-C prompt if closing with unsaved changes
- " we don't want to edit these type of files
- set wildignore=*.o,*.obj,*.bak,*.exe,*.pyc,*.swp
- """" Coding
- set history=1000 " 1000 Lines of history
- set showfulltag " Show more information while completing tags
- " taglist plugin settings
- "nnoremap <silent> <F8> :TlistToggle<CR>
- let Tlist_Exit_OnlyWindow = 1 "exit if taglist is last window open
- let Tlist_Show_One_File = 1 "only show tags for current buffer
- let Tlist_Enable_Fold_Column = 0 "no fold column (only showing one file)
- " OmniCppComplete
- let OmniCpp_NamespaceSearch = 1
- let OmniCpp_GlobalScopeSearch = 1
- let OmniCpp_ShowAccess = 1
- let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
- let OmniCpp_MayCompleteDot = 1 " autocomplete after .
- let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
- let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
- let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
- " automatically open and close the popup menu / preview window
- au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
- set completeopt=menuone,menu,longest,preview
- let g:sparkupNextMapping = '<c-x>'
- " SuperTab settings
- let g:SuperTabDefaultCompletionType = '<c-x><c-o>'
- """"" Folding
- set foldmethod=syntax " By default, use syntax to determine folds
- set foldlevelstart=99 " All folds open by default
- " Function to highlight character beyond column 79
- " activate it with ,h
- nnoremap <leader>h :call ToggleOverLengthHighlight()<CR>
- let g:overlength_enabled = 0
- " set the highlight color
- highlight OverLength ctermbg=red guibg=red
- function! ToggleOverLengthHighlight()
- if g:overlength_enabled == 0
- match OverLength /\%79v.*/
- let g:overlength_enabled = 1
- echo 'OverLength highlighting turned on'
- else
- match
- let g:overlength_enabled = 0
- echo 'OverLength highlighting turned off'
- endif
- endfunction
- " in visual mode press Ctrl r to start substituting text
- vnoremap <C-r> "hy:%s/<C-r>h//gc<left><left><left>
- " PHP Code Sniffer binary (default = "phpcs")
- let g:phpqa_codesniffer_cmd='vendor/bin/phpcs'
- " PHP Mess Detector binary (default = "phpmd")
- let g:phpqa_messdetector_cmd='vendor/bin/phpmd'
- set relativenumber
- " important
- " moving around, searching and patterns
- " tags
- " displaying text
- " syntax, highlighting and spelling
- " multiple windows
- " multiple tab pages
- " terminal
- " using the mouse
- " printing
- " messages and info
- " selecting text
- " editing text
- " tabs and indenting
- " folding
- " diff mode
- " mapping
- " toggle the tag list
- nmap <Leader>tl :TlistToggle<CR>
- " reading and writing files
- " the swap file
- " command line editing
- " executing external commands
- " running make and jumping to errors
- " language specific
- " multi-byte characters
- " various
- " TagList options
- " set the names of flags
- let tlist_php_settings = 'php;c:class;f:function;d:constant;p:property'
- " close all folds except for current file
- let Tlist_File_Fold_Auto_Close = 1
- " make tlist pane active when opened
- let Tlist_GainFocus_On_ToggleOpen = 1
- " width of window
- let Tlist_WinWidth = 60
- " close tlist when a selection is made
- let Tlist_Close_On_Select = 1
- " show the prototype
- let Tlist_Display_Prototype = 1
- " show tags only for current buffer
- let Tlist_Show_One_File = 1
- " Taglist variables
- " Display function name in status bar:
- let g:ctags_statusline=1
- " Automatically start script
- let generate_tags=1
- " Displays taglist results in a vertical windows:
- let Tlist_Use_Horiz_Window=0
- " Shorter commands to toggle Taglist display
- nnoremap TT :TlistToggle<CR>
- map <F4> :TlistToggle<CR>
- " Various Taglist display config:
- let Tlist_Use_Right_Windows = 1
- let Tlist_Compact_Format = 1
- let Tlist_Exit_OnlyWindow = 1
- let Tlist_GainFocus_On_ToggleOpen = 1
- let Tlist_File_Fold_Auto_Close = 1
- " Ctags options
- nmap <Leader>tf :call CtagsFind(expand('<cword>'))<CR>
- com! -nargs=+ Tf :call CtagsFind("<args>")
- " split window and search for tag
- nmap <Leader>ts :exe('stj '.expand('<cword>'))<CR>
- set tags=tags;/
- " open new tab and search for tag
- "
- fun! CtagsFind(keyword)
- tabe
- exe "tj ".a:keyword
- endfunction
- " TagBar
- nmap <F8> :TagbarToggle<CR>
- " CtrlP
- let g:ctrlp_map = ',t'
- nnoremap <silent> ,t :CtrlP<CR>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement