forked from farzadghanei/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvimrc
189 lines (155 loc) · 4.35 KB
/
vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
""" Vundle Entries
set nocompatible " be iMproved
filetype off " required!
set runtimepath+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required!
Plugin 'gmarik/vundle'
Plugin 'whatyouhide/vim-gotham'
Plugin 'tpope/vim-fugitive'
Plugin 'jeetsukumaran/vim-buffergator'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'mileszs/ack.vim'
Plugin 'ddollar/nerdcommenter'
Plugin 'ervandew/supertab'
Plugin 'burnettk/vim-angular'
Plugin 'vivien/vim-linux-coding-style'
Plugin 'majutsushi/tagbar'
nmap <F4> :TagbarToggle<CR>
Plugin 'airblade/vim-gitgutter'
let g:gitgutter_sign_column_always = 0
Plugin 'vim-scripts/The-NERD-tree'
map <F3> :NERDTreeToggle<CR>
let NERDTreeWinPos = 'left'
let NERDTreeIgnore = ['\.pyc$']
" YouCompeleteMe requires vim 7.3+
" Bundle 'Valloric/YouCompleteMe'
Plugin 'scrooloose/syntastic'
Plugin 'tpope/vim-commentary'
Plugin 'kien/ctrlp.vim'
let g:ctrlp_working_path_mode = 0 " dont manage working directory.
let g:ctrlp_custom_ignore = {
\ 'dir': '\v\c\.(git|svn)$',
\ 'file': '\v\c\.(swf|bak|png|gif|mov|ico|jpg|pdf|pyc)$',
\ }
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
let g:airline_theme = 'luna'
let g:airline_powerline_fonts = 1
" lang specific modules
Plugin 'c9s/perlomni.vim'
Plugin 'cakebaker/scss-syntax.vim'
Plugin 'luochen1990/rainbow'
let g:rainbow_active = 1
let g:rainbow_conf = {
\ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'],
\ 'ctermfgs': ['red', 'green', 'yellow', 'blue']
\ }
Plugin 'vim-scripts/closetag.vim'
" Debuggers
Plugin 'joonty/vdebug.git'
call vundle#end()
filetype plugin indent on " required!
""" vimrc resumes
set shell=bash
set autoindent
set backspace=indent,eol,start
set nowrap
" display relative line numbers
set rnu
" display absolute line number for current line
set nu
highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE gui=NONE guifg=DarkGrey guibg=NONE
set ruler
set scrolloff=5
set cmdheight=2
set cursorcolumn
set cursorline
set errorformat=\"../../%f\"\\,%*[^0-9]%l:\ %m
set hidden
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set list
set listchars=tab:▸\ ,trail:-,eol:¬
set expandtab
set shiftwidth=4
set smarttab
set cindent
"set smartindent
set showcmd
set showmatch
set t_Co=256
:
set tags=tags;/
set virtualedit=block
set mouse=a
set ttymouse=xterm2
set backupdir=~/.vim_backup
set wildmenu
set wildignore=*.exe,*.dll,*.o,*.so,*.pyc,*.back,*.jpg,*.jpeg,*.png,*.gif,*.pdf
set wildmode=list:full
set colorcolumn=120
set langmenu=en_US.UTF-8
set guioptions-=T
set guioptions-=m
set guioptions-=r " Removes right hand scroll bar
set guioptions-=L
set mousemodel=popup
set clipboard=unnamed
set fillchars+=vert:\
syntax on
colorscheme gotham256
hi colorColumn ctermbg=1
" :help last-position-jump
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
nnoremap <C-L> :noh<CR><C-L>
inoremap jj <Esc>
nnoremap <Leader>r :source ~/.vimrc<CR>
nnoremap <Leader><Leader>r :e ~/.vimrc<CR>
map <Leader>gs :Gstatus<CR>
map <Leader>gc :Gcommit<CR>
map <Leader>gm :Gcommit --amend<CR>
map <Leader>gll :Git log<CR>
map <Leader>glp :Git log -p<CR>
map <Leader>gb :Gblame<CR>
map <Leader>gdd :Git diff<CR>
map <Leader>gdm :Git diff %<CR>
map <Leader>gdf :Gdiff<CR>
map <Leader>gg :Git
map <Enter> i
nmap <F1> <Esc>
imap <F1> <Esc>
nnoremap <C-S-K> :m .-2<CR>==
nnoremap <C-S-J> :m .+1<CR>==
inoremap <C-S-J> <Esc>:m .+1<CR>==gi
inoremap <C-S-K> <Esc>:m .-2<CR>==gi
vnoremap <C-S-K> :m '<-2<CR>gv=gv
vnoremap <C-S-J> :m '>+1<CR>gv=gv
" Map <Ctrl+N> to toggle relative line numbers
nmap <C-N> :set invrnu<CR>
" switch the line-number style, in normal mode, and insert mode
au FocusLost * :set number
au FocusGained * :set relativenumber
au InsertEnter * :set number
au InsertLeave * :set relativenumber
" Use F2 to toggle set paste
nnoremap <F2> :set invpaste paste?<CR>
set pastetoggle=<F2>
if has("gui_running")
colorscheme gotham
if has("gui_gtk2")
set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11
elseif has("gui_macvim")
set guifont=Source\ Code\ Pro\ for\ Powerline:h15
elseif has("gui_win32")
set guifont=Consolas:h11:cANSI
endif
endif
" map ctrl+v as paste in Insert mode
" borrowed from: http://superuser.com/a/189198
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+