-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.vimrc
167 lines (130 loc) · 5.08 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
" Отключить совместимость с vi
set nocompatible
" Включает плагины типов файлов и отступов
filetype plugin indent on
" Включение подсветки в 246 цветов.
set t_Co=256
" Длина одного таба (количество пробелов приравниваемое одному символу табуляции).
set tabstop=4
" Количество пробелов в табе при удалении
set softtabstop=4
" При нажатии таба в начале строки добавляет количество пробелов равное shiftwidth
set shiftwidth=4
set smarttab
" Замена табов на пробелы
set expandtab
" При переходе на новую строку курсор будет стоять на таком же расстоянии как и предыдущая строка. А так же добавляет отступ после символа { и удаляет один отступ перед
set smartindent
" Включение синтаксиса языков программирования
syntax on
" Включение нумерации строк
" set number
" отступ между левой частью окна
set foldcolumn=2
" Отключение звуковых эффектов
set noerrorbells
set novisualbell
" Включение поддержки мыши
set mouse=a
" Сделать размер истории последних изменений
" для undo/redo равным 1000
set undolevels=1000
set history=1000
" «Умный» поиск:
" - при вводе только маленьких (строчных) букв
" ищет регистро-независимо
" - а если введена хотя бы одна большая (заглавная/прописная)
" буква, то будет искать регистро-зависимо
set ignorecase
set smartcase
" Подсвечивать результаты поиска
set hlsearch
" Кодировка файла по умолчанию
set encoding=utf8
" стандарт использования символов переноса строки в файлах
set ffs=unix,dos,mac
call plug#begin()
Plug 'altercation/solarized'
Plug 'itchyny/lightline.vim'
Plug 'scrooloose/nerdtree'
call plug#end()
set background=dark
" Цветовая схема
" colorscheme gruvbox
" Включение синтаксиса
syntax on
set laststatus=2
set statusline=%f%m%r%h%w\ %y\ enc:%{&enc}\ ff:%{&ff}\ fenc:%{&fenc}%=(ch:%3b\ hex:%2B)\ col:%2c\ line:%2l/%L\ [%2p%%]
" Автообновление, при изменении файла извне
set updatetime=2000
set autoread
" Работа с вводом (INSERT) без переключения раскладки
noremap ш i
noremap Ш I
noremap ф a
noremap Ф A
noremap щ o
noremap Щ O
" Работа с заменой (REPLACE) без переключения раскладки
noremap к r
noremap К R
" Работа с режимом выделения (VISUAL) без переключения раскладки
noremap м v
noremap М V
" Работа с поиском:
" следующее и предыдущее совпадение без переключения раскладки
noremap т n
noremap Т N
" Копировать, удалить и вставить без переключения раскладки
noremap н y
noremap Н Y
noremap в d
noremap В D
noremap ч x
noremap Ч X
noremap з p
noremap З P
" Перемещения к началу/концу слов без переключения раскладки
noremap ц w
noremap Ц W
noremap у e
noremap У E
noremap и b
noremap И B
" Некоторые прочие русские буквы
noremap й q
noremap Й Q
noremap с c
noremap С C
noremap п g
noremap П G
" Ctrl+s для сохранения файла и возврата в нормальный режим (NORMAL)
" из NORMAL
nnoremap <F2> :w<CR>
" из INSERT
inoremap <F2> <Esc>:w<CR>
" из VISUAL
vnoremap <F2> <Esc>:w<CR>
" F10 для закрытия текущего файла
nnoremap <F10> :q!<CR>
inoremap <F10> <Esc>:q!<CR>
vnoremap <F10> <Esc>:q!<CR>
" Ctrl+z для отмены изменений и Ctrl+x для возврата к изменениям
" в режимах NORMAL, VISUAL и INSERT
nnoremap <C-z> :undo<CR>
vnoremap <C-z> <Esc>:undo<CR>
inoremap <C-z> <Esc>:undo<CR>i
nnoremap <C-x> :redo<CR>
vnoremap <C-x> <Esc>:redo<CR>
inoremap <C-x> <Esc>:redo<CR>i
nnoremap <F3> :NERDTreeToggle<CR>
vnoremap <F3> <Esc>:NERDTreeToggle<CR>
inoremap <F3> <Esc>:NERDTreeToggle<CR>
" Отключение бэкапных файлов Vim, ведь скорее всего,
" весь код уже в какой-нибудь VCS: mercury или git
" ЕСЛИ ВЫ РАБОТАЕТЕ ПО SSH, ЛУЧШЕ ЗАКОММЕНТИРОВАТЬ,
" потому что соединение может оборваться и вы потеряете
" все последние изменения
"set nobackup
"set nowb
"set noswapfile