Предупреждение
Последний раз данная статья обновлялась 16.08.2022, информация может быть устаревшей.
- Установка
1
| git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
|
- Настройка Vundle
Размещаем это в начале .vimrc
, чтобы использовать Vundle:
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
| set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'ambv/black'
Plugin 'nvie/vim-flake8'
Plugin 'scrooloose/nerdtree'
Plugin 'davidhalter/jedi-vim'
Plugin 'mitsuhiko/vim-jinja'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
Plugin 'flazz/vim-colorschemes'
Plugin 'tpope/vim-surround'
call vundle#end() " required
filetype on
filetype plugin on
filetype plugin indent on " required
" Put your non-Plugin stuff after this line
|
- Установка плагинов
Заходим в vim и запускаем команду :PluginInstall
Для установки плагинов из командной строки: vim +PluginInstall +qall
- Команды Vundle
:PluginList
- список настроенных плагинов:PluginInstall
- устанавливает плагины (с добавленем !
- обновляет):PluginUpdate
- обновляет плагины:PluginSearch foo
- ищет foo
(с добавленем !
обновляет локальный кэш):PluginClean
- подтверждает удаление неиспользуемых плагинов (добавить !
для автоматического подтверждения удаления)
- tpope/vim-fugitive -
:Git commit
, :Git rebase -i
и другие команды git; - tpope/vim-commentary — позволяет закомментировать код: командой
gcc
— строку, а командой gc
— выделенный фрагмент в визуальном режиме; - tpope/vim-surround
- ambv/black
- nvie/vim-flake8
- scrooloose/nerdtree
- davidhalter/jedi-vim
- mitsuhiko/vim-jinja
- git://git.wincent.com/command-t.git
- rstacruz/sparkup'
- flazz/vim-colorschemes
1
| set cursorline " выделять строку, на которой находится курсор
|
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
| " установить tab равным 4 пробелам
set tabstop=4 " set ts=4
" при использовании команд >> или << сдвигать строки на 4 пробела
set shiftwidth=4
set smarttab
" преобразование tab-ов в пробелы
set expandtab
"4 пробела в табе
set softtabstop=4
" Автоотступ при переходе на следующую строку при написании кода
set autoindent
" включить подсветку синтаксиса Python
let python_highlight_all = 1
" Включаем 256 цветов в терминале, мы ведь работаем из иксов?
" Нужно во многих терминалах, например в gnome-terminal
set t_Co=256
" Перед сохранением вырезаем пробелы на концах (только в .py файлах)
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
" В .py файлах включаем умные отступы после ключевых слов
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
syntax on "Включить подсветку синтаксиса syntax enable
set nu "Включаем нумерацию строк
set showmatch " показывать парную скобку для [] {} и ()
" set cursorline " выделять строку, на которой находится курсор
set mousehide "Спрятать курсор мыши когда набираем текст
set mouse=a "Включить поддержку мыши
set termencoding=utf-8 "Кодировка терминала
set novisualbell "Не мигать
set t_vb= "Не пищать! (Опции 'не портить текст', к сожалению, нету)
" Удобное поведение backspace
set backspace=indent,eol,start whichwrap+=<,>,[,]
" Вырубаем черточки на табах
set showtabline=1
" Переносим на другую строчку, разрываем строки
set wrap
set linebreak
" Вырубаем .swp и ~ (резервные) файлы
set nobackup
set noswapfile
set encoding=utf-8 " Кодировка файлов по умолчанию
set fileencodings=utf8,cp1251
set clipboard=unnamed
set ruler
set hidden
nnoremap <C-N> :bnext<CR>
nnoremap <C-P> :bprev<CR>
nnoremap <F3> :NERDTreeMirror<CR>
nnoremap <F3> :NERDTreeToggle<CR>
" Выключаем звук в Vim
set visualbell t_vb=
"Переключение табов по CMD+number для MacVim
if has("gui_macvim")
" Press Ctrl-Tab to switch between open tabs (like browser tabs) to
" the right side. Ctrl-Shift-Tab goes the other way.
noremap <C-Tab> :tabnext<CR>
noremap <C-S-Tab> :tabprev<CR>
" Switch to specific tab numbers with Command-number
noremap <D-1> :tabn 1<CR>
noremap <D-2> :tabn 2<CR>
noremap <D-3> :tabn 3<CR>
noremap <D-4> :tabn 4<CR>
noremap <D-5> :tabn 5<CR>
noremap <D-6> :tabn 6<CR>
noremap <D-7> :tabn 7<CR>
noremap <D-8> :tabn 8<CR>
noremap <D-9> :tabn 9<CR>
" Command-0 goes to the last tab
noremap <D-0> :tablast<CR>
endif
set guifont=Monaco:h18
colorscheme OceanicNext
nnoremap <Esc>j :m .+1<CR>==
nnoremap <Esc>k :m .-2<CR>==
inoremap <Esc>j <Esc>:m .+1<CR>==gi
inoremap <Esc>k <Esc>:m .-2<CR>==gi
vnoremap <Esc>j :m '>+1<CR>gv=gv
vnoremap <Esc>k :m '<-2<CR>gv=gv
|
Источники