-
Notifications
You must be signed in to change notification settings - Fork 0
/
.vimrc
162 lines (116 loc) · 4.64 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
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
"-------------------------
" Базовые настройки
"-------------------------
" Не делать бекап файлов
set nobackup
" Включаем несовместимость настроек с Vi (ибо Vi нам и не понадобится).
set nocompatible
" Показывать положение курсора всё время.
set ruler
" Показывать незавершённые команды в статусбаре
set showcmd
" Включаем нумерацию строк
set nu
" Поиск по набору текста (очень полезная функция)
set incsearch
" Отключаем подстветку найденных вариантов, и так всё видно.
set nohlsearch
" Теперь нет необходимости передвигать курсор к краю экрана, чтобы подняться
" в режиме редактирования
"set scrolljump=7
" Теперь нет необходимости передвигать курсор к краю экрана, чтобы
" опуститься в режиме редактирования
"set scrolloff=7
" Выключаем надоедливый "звонок"
set novisualbell
set t_vb=
" Поддержка мыши
"set mouse=a
set mousemodel=popup
" Кодировка текста по умолчанию
set termencoding=utf-8
" Не выгружать буфер, когда переключаемся на другой
" Это позволяет редактировать несколько файлов в один и тот же момент без
" необходимости сохранения каждый раз
" когда переключаешься между ними
set hidden
" Скрыть панель в gui версии ибо она не нужна
set guioptions-=T
" Сделать строку команд высотой в одну строку
set ch=1
" Скрывать указатель мыши, когда печатаем
set mousehide
" Включить автоотступы
set autoindent
" Влючить подстветку синтаксиса
syntax on
" allow to use backspace instead of "x"
set backspace=indent,eol,start whichwrap+=<,>,[,]
" Преобразование Таба в пробелы
set expandtab
" Размер табулации по умолчанию
set shiftwidth=2
set softtabstop=2
set tabstop=2
" Формат строки состояния
set statusline=%<%f%h%m%r\ %b\ %{&encoding}\ 0x\ \ %l,%c%V\ %P
set laststatus=2
" Включаем "умные" отспупы ( например, автоотступ после {)
set smartindent
" Fix <Enter> for comment
set fo+=cr
"-------------------------
" Горячие клавишы
"-------------------------
" C-c and C-v - Copy/Paste в "глобальный клипборд"
"vmap <C-C> "+yi
"imap <C-V> <esc>"+gPi
" Поиск и замена слова под курсором
nmap ; :%s/\<<c-r>=expand("<cword>")<cr>\>/
" < & > - делаем отступы для блоков
vmap < <gv
vmap > >gv
" Меню выбора кодировки текста (koi8-r, cp1251, cp866, utf8)
set wildmenu
set wcm=<Tab>
menu Encoding.koi8-r :e ++enc=koi8-r<CR>
menu Encoding.windows-1251 :e ++enc=cp1251<CR>
menu Encoding.cp866 :e ++enc=cp866<CR>
menu Encoding.utf-8 :e ++enc=utf8 <CR>
" С-q - выход из Vim
map <C-Q> <Esc>:qa<cr>
"display tabs and trailing spaces
set listchars=tab:>.,trail:·,extends:>,precedes:<
set list
" Enable syntatic plugin
let g:syntastic_enable_signs=1
" переназначаем основную клаившу для zenconding
let g:user_zen_leader_key = '\y'
" change indentation to 2 spaces
let g:user_zen_settings = { 'indentation' : ' ' }
" отступы в rails
autocmd User Rails set sw=2 sts=2 expandtab
filetype plugin indent on
" подсветка в gitcommit
autocmd BufNewFile,BufRead COMMIT_EDITMSG set filetype=gitcommit
map <silent> <Leader>p :NERDTreeToggle<CR>
vmap # :s/^/#/g<CR>
" Map \a= to Tabularize selection
map <silent> <Leader>a= :Tabularize /=<CR>
map <silent> <Leader>a{ :Tabularize /{<CR>
" Map \ts to Remove trailng spaces
map <silent> <Leader>ts :%s/\s*$//g<CR>
"folding settings
set foldmethod=syntax "fold based on indent
set foldnestmax=5 "deepest fold is 3 levels
set foldcolumn=2
set nofoldenable "dont fold by default
" Don't wrap long text
set nowrap
" Autocomplete like in bash
set wildmode=longest,list
"Use fuzzy finder instead standard
"nnoremap <silent> <C-]>:FuzzyFinderTag! <C-r>=expand('<cword>')<CR><CR>
colorscheme vividchalk