Compare commits

..

52 Commits

Author SHA1 Message Date
7fe844a3e5 i3config plugin 2025-06-21 05:30:01 +03:00
235e926fed Plug Upgrade 2025-06-21 05:28:59 +03:00
2bfe89e703 Имя шрифта 2023-05-15 12:26:49 +03:00
7560e9db95 Шрифт 2023-05-13 04:49:08 +03:00
440d78e368 Документация 2023-04-23 09:47:07 +03:00
43d9879276 Плагин для поддержки иконок 2023-04-23 09:22:55 +03:00
34165aa5cf Обновление plug 2023-04-23 09:22:24 +03:00
dc34138d9a Замена плагина для умной табуляции 2023-04-23 09:22:03 +03:00
5e4fd34529 Обновление 2022-12-06 10:31:44 +03:00
04114e2bc5 Строки режима 2022-12-06 10:30:19 +03:00
cf9a4dc1e8 Обновление 2022-11-27 13:55:29 +03:00
3f020a8b33 Запись файла с использованием sudo 2022-08-06 09:15:33 +03:00
5aa61accd4 Обновление 2022-08-06 09:10:05 +03:00
4d72304494 Проверка синтаксиса 2022-06-17 13:42:39 +03:00
eaa475b08e Подсветка для LyX 2022-06-17 13:39:24 +03:00
176d2b15db gitignore 2022-06-17 13:39:11 +03:00
3be304fc35 vimspector 2022-06-17 11:50:05 +03:00
b297797d61 Замена плагина для CMake 2022-06-17 11:49:36 +03:00
ba31625e03 Plug 2022-06-17 11:49:07 +03:00
b2d961aa32 Merge branch 'master' of git.246060.ru:f1x1t/vimrc 2022-04-28 08:19:21 +03:00
1d5ffafb9d Bitbake 2022-04-28 08:18:32 +03:00
aa8c8ab374 Совместимость с Neovim 2022-01-04 15:21:07 +03:00
979bc8f385 Merge branch 'master' of git.246060.ru:f1x1t/vimrc 2021-12-25 09:56:59 +03:00
7d139bdaa6 Обновление 2021-12-25 09:53:59 +03:00
2c607ce1e6 Merge branch 'master' of git.246060.ru:f1x1t/vimrc 2021-12-22 14:41:13 +03:00
8397cc0c00 Адреса плагинов 2021-12-22 14:40:54 +03:00
03c27be3c8 Обновление 2021-12-22 14:38:34 +03:00
46f2972851 Шрифт 2021-06-08 22:03:29 +03:00
9bc804c8c6 Merge branch 'master' of git.246060.ru:f1x1t/vimrc 2021-06-01 07:09:08 +03:00
e5ab9e71c4 Тема srcery 2021-06-01 07:08:47 +03:00
b092fe897d Обновление plug 2021-06-01 06:54:36 +03:00
7a127f1660 Шрифт для ptah 2021-06-01 06:53:46 +03:00
6148c39229 Вариант регулярных выражений для определённых типов файлов 2021-05-18 07:57:29 +03:00
11e3b9d1ea Plug 2021-05-17 10:18:21 +03:00
b998997d85 Исправлена нумерация колонок 2021-05-17 10:17:51 +03:00
a188580b89 shellcheck 2020-12-21 11:11:33 +03:00
44134c565b Обновление 2020-12-11 10:08:34 +03:00
4a70c28c87 Обновление plug 2020-11-28 11:01:54 +03:00
ed6de8c1e4 Настройка сворачивания 2020-06-06 12:22:58 +03:00
571309b335 vimtex 2020-05-16 12:46:18 +03:00
987766bd7d Обновление 2020-05-16 12:15:50 +03:00
f7317e03c3 Обновление 2020-05-16 12:11:23 +03:00
c6af0ae5a7 Обновление 2020-05-16 11:33:59 +03:00
9c4952da72 Merge branch 'master' of git.246060.ru:f1x1t/vimrc 2020-03-30 09:43:08 +03:00
3bc0d55525 Чтение настроек для текущего компьютера 2020-03-30 09:41:46 +03:00
4bc781af7e Настройки сворачивания блоков и плагин для изменения размера шрифта 2020-03-30 09:39:30 +03:00
f65c97df79 Обновление Plug 2020-03-30 09:37:46 +03:00
1e891dbc74 Новые плагины 2019-06-13 14:17:39 +03:00
29c2f0c489 Обновление словаря 2019-06-03 07:40:35 +03:00
ad929d3fdf AsciiDoctor 2019-06-02 13:03:49 +03:00
2cb6c3d5d3 Документация 2019-05-29 11:23:10 +03:00
cd8da78e84 Вызов Neomake, только если установлен 2019-05-29 11:22:03 +03:00
10 changed files with 1046 additions and 328 deletions

2
.gitignore vendored
View File

@@ -1,2 +1,4 @@
.netrwhist .netrwhist
plugged plugged
spell/ru.utf-8.add.spl
autoload/plug.vim.old

View File

@@ -1,6 +1,16 @@
# Установка # Установка
```sh ```sh
git clone https://git.246060.ru/f1x1t/vimrc $HOME/.vimrc git clone https://git.246060.ru/f1x1t/vimrc $HOME/.vim
vim -c ':PlugUpdate'
``` ```
# Использование в NeoVim
Создать файл `$HOME/.config/nvim/init.vim`:
```vim
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vim/vimrc
```

File diff suppressed because it is too large Load Diff

3
hosts/awesome.vimrc Normal file
View File

@@ -0,0 +1,3 @@
if has('gui_running') && !has('nvim')
set guifont=Iosevka\ Prog\ Nerd\ Font\ Mono\ 18
endif

3
hosts/nbtp.vimrc Normal file
View File

@@ -0,0 +1,3 @@
if has('gui_running') && !has('nvim')
set guifont=Iosevka\ Prog\ Nerd\ Font\ Mono\ 10
endif

3
hosts/ptah.vimrc Normal file
View File

@@ -0,0 +1,3 @@
if has('gui_running') && !has('nvim')
set guifont=Iosevka\ Prog\ Nerd\ Font\ Mono\ 18
endif

10
spell/ru.utf-8.add Normal file
View File

@@ -0,0 +1,10 @@
неизменёнными
подмодулей
подмодуль
подмодули
подмодуля
версионный
ресурсоёмкие
локали
журналирование
её

Binary file not shown.

17
syntax/lyx.vim Normal file
View File

@@ -0,0 +1,17 @@
syntax clear
syntax keyword lyxCommand \\layout
syntax keyword lyxCommand \\the_end
syntax keyword lyxKey LatexCommand ERT Graphics Float FloatList
syntax keyword lyxKey status Open Closed
syntax keyword lyxKey wide collapsed
syntax keyword lyxBinary true false
syntax keyword lyxBinary Open Close
syntax region lyxInset start=/\\begin_inset/ end=/\\end_inset/ contains=ALL fold
syntax region lyxString start=/"/ end=/"/
highlight link lyxCommand Keyword
highlight link lyxKey Keyword
highlight link lyxString String
highlight link lyxInset Comment
highlight link lyxBinary Boolean

525
vimrc
View File

@@ -13,229 +13,344 @@ call pathogen#infect()
" https://github.com/junegunn/vim-plug " https://github.com/junegunn/vim-plug
" Менеджер плагинов " " Менеджер плагинов
call plug#begin('~/.vim/plugged') call plug#begin('~/.vim/plugged')
" https://github.com/skywind3000/asyncrun.vim
" Запуск асинхронных команд
Plug 'skywind3000/asyncrun.vim'
" https://github.com/mhinz/vim-startify
" Стартовый экран
Plug 'mhinz/vim-startify'
" https://github.com/ryanoasis/vim-devicons
" Поддержка иконок
Plug 'ryanoasis/vim-devicons'
" https://github.com/lyokha/vim-xkbswitch " https://github.com/lyokha/vim-xkbswitch
" Автоматическое переключение раскладки клавиатуры в режиме вставки " " Автоматическое переключение раскладки клавиатуры в режиме вставки
Plug 'lyokha/vim-xkbswitch' Plug 'lyokha/vim-xkbswitch'
" https://github.com/srcery-colors/srcery-vim
" Тема srcery
Plug 'srcery-colors/srcery-vim'
" https://github.com/wellle/context.vim
" Отображение контекста
Plug 'wellle/context.vim'
" https://github.com/itchyny/lightline.vim " https://github.com/itchyny/lightline.vim
" Настраиваемая строка состояния " " Настраиваемая строка состояния
" https://github.com/taohexxx/lightline-buffer " https://github.com/taohexxx/lightline-buffer
" Строка с названиями буферов " " Строка с названиями буферов
Plug 'itchyny/lightline.vim' | Plug 'taohexxx/lightline-buffer' Plug 'itchyny/lightline.vim' | Plug 'taohexxx/lightline-buffer'
" https://github.com/oblitum/rainbow " https://github.com/Cheeto836/vim-rainbow
" Разноцветные скобки " " Разноцветные скобки
Plug 'oblitum/rainbow' Plug 'Cheeto836/vim-rainbow'
" https://github.com/ntpeters/vim-better-whitespace " https://github.com/ntpeters/vim-better-whitespace
" Подсветка лишних пробельных символов " " Подсветка лишних пробельных символов
Plug 'ntpeters/vim-better-whitespace' Plug 'ntpeters/vim-better-whitespace'
" https://github.com/wincent/terminus " https://github.com/wincent/terminus
" Улучшенная поддержка терминала " " Улучшенная поддержка терминала
Plug 'wincent/terminus' Plug 'wincent/terminus'
" https://www.vim.org/scripts/script.php?script_id=231 " https://github.com/Thyrum/vim-stabs
" Tab для логической разметки, Space для выравнивания " " Tab для логической разметки, Space для выравнивания
Plug 'dpc/vim-smarttabs' Plug 'Thyrum/vim-stabs'
" https://github.com/tpope/vim-commentary
" Комментарии
Plug 'tpope/vim-commentary'
" https://github.com/ctrlpvim/ctrlp.vim " https://github.com/ctrlpvim/ctrlp.vim
" Поиск файлов и буферов " " Поиск файлов и буферов
Plug 'ctrlpvim/ctrlp.vim' Plug 'ctrlpvim/ctrlp.vim'
" https://github.com/easymotion/vim-easymotion " https://github.com/easymotion/vim-easymotion
" Быстрая навигация " " Быстрая навигация
Plug 'easymotion/vim-easymotion' Plug 'easymotion/vim-easymotion'
" https://github.com/haya14busa/incsearch.vim " https://github.com/haya14busa/incsearch.vim
" Поиск " " Поиск
Plug 'haya14busa/incsearch.vim' | Plug 'haya14busa/incsearch-easymotion.vim' Plug 'haya14busa/incsearch.vim' | Plug 'haya14busa/incsearch-easymotion.vim'
" https://github.com/mihaifm/bufstop
Plug 'mihaifm/bufstop'
" https://github.com/moll/vim-bbye " https://github.com/moll/vim-bbye
" Удаление буферов с сохранением расположения окон " " Удаление буферов с сохранением расположения окон
Plug 'moll/vim-bbye' Plug 'moll/vim-bbye'
" https://github.com/sstallion/vim-wildignore " https://github.com/sstallion/vim-wildignore
" Чтение масок файлов из файлов wildignore и suffixes " " Чтение масок файлов из файлов wildignore и suffixes
Plug 'sstallion/vim-wildignore' Plug 'sstallion/vim-wildignore'
" https://github.com/tpope/vim-fugitive " https://github.com/tpope/vim-fugitive
" Git " " Git
" Plug 'tpope/vim-fugitive' " Plug 'tpope/vim-fugitive'
" https://github.com/airblade/vim-gitgutter " https://github.com/airblade/vim-gitgutter
" Отличия от Git в левой колонке " " Отличия от Git в левой колонке
Plug 'airblade/vim-gitgutter' Plug 'airblade/vim-gitgutter'
" https://github.com/neomake/neomake " https://github.com/neomake/neomake
" Проверка синтаксиса в фоновом режиме " " Проверка синтаксиса в фоновом режиме
Plug 'neomake/neomake' Plug 'neomake/neomake'
" https://github.com/dense-analysis/ale
" Проверка синтаксиса
Plug 'dense-analysis/ale'
" https://github.com/ciaranm/securemodelines
" Настраиваемая поддержка строки режима в файле
Plug 'ciaranm/securemodelines'
" https://github.com/stephpy/vim-yaml " https://github.com/stephpy/vim-yaml
" YAML " " YAML
Plug 'stephpy/vim-yaml' Plug 'stephpy/vim-yaml'
" https://github.com/plasticboy/vim-markdown " https://github.com/plasticboy/vim-markdown
" Markdown " " Markdown
Plug 'plasticboy/vim-markdown' Plug 'plasticboy/vim-markdown'
"https://github.com/habamax/vim-asciidoctor
" AsciiDoctor
Plug 'habamax/vim-asciidoctor'
" https://github.com/SirVer/ultisnips " https://github.com/SirVer/ultisnips
" Вставка фрагментов кода " " Вставка фрагментов кода
Plug 'sirver/ultisnips' Plug 'sirver/ultisnips'
" https://github.com/honza/vim-snippets " https://github.com/honza/vim-snippets
" Библиотека фрагментов кода " " Библиотека фрагментов кода
Plug 'honza/vim-snippets' Plug 'honza/vim-snippets'
" https://github.com/aklt/plantuml-syntax " https://github.com/aklt/plantuml-syntax
" Plantuml " " PlantUML
Plug 'aklt/plantuml-syntax' Plug 'aklt/plantuml-syntax'
" https://github.com/JosefLitos/vim-i3config
" Подсветка синтаксиса i3
Plug 'JosefLitos/vim-i3config'
" https://github.com/dhruvasagar/vim-table-mode " https://github.com/dhruvasagar/vim-table-mode
" Создание таблиц " " Создание таблиц
Plug 'dhruvasagar/vim-table-mode' Plug 'dhruvasagar/vim-table-mode'
" https://github.com/junegunn/vim-easy-align " https://github.com/junegunn/vim-easy-align
" Выравнивание строк " " Выравнивание строк
Plug 'junegunn/vim-easy-align' Plug 'junegunn/vim-easy-align'
" Перечисление плагинов заканчивается здесь " " https://github.com/henry4k/vim-fontzoom
" Изменение размера шрифта
Plug 'henry4k/vim-fontzoom'
" https://dmitryfrank.com/projects/vimprj
" Опции для отдельных проектов
Plug 'elnull/vim-dfutil' | Plug 'elnull/vimprj'
" https://github.com/ilyachur/cmake4vim
" CMake
Plug 'ilyachur/cmake4vim'
" LaTeX
Plug 'lervag/vimtex'
Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' }
" https://github.com/jez/vim-superman
" MAN
Plug 'jez/vim-superman'
" https://github.com/kergoth/vim-bitbake
" Bitbake
Plug 'kergoth/vim-bitbake'
" https://github.com/python-mode/python-mode
" Python
Plug 'python-mode/python-mode', { 'for': 'python', 'branch': 'develop' }
" https://github.com/puremourning/vimspector
" Multi language graphical debugger
Plug 'puremourning/vimspector'
" https://github.com/itspriddle/vim-shellcheck
" Shell
Plug 'itspriddle/vim-shellcheck'
Plug 'rhysd/vim-grammarous'
" https://github.com/mcchrish/nnn.vim
" File manager for vim/neovim powered by n³
Plug 'mcchrish/nnn.vim'
" Перечисление плагинов заканчивается здесь
call plug#end() call plug#end()
"{{{ Базовые настройки "{{{ Базовые настройки
" Включена подсветка синтаксиса " " Включена подсветка синтаксиса
" Plug устанавливает свои значения, нужно явно переопределить после plug#end
syntax on syntax on
filetype plugin indent on filetype plugin indent on
" Отключен режим совместимости " " Выбор движка для регулярных выражений
autocmd FileType ruby,tex set regexpengine=1
" Отключен режим совместимости
set nocompatible set nocompatible
" Проверка изменения файла другой программой " " Проверка изменения файла другой программой
set autoread set autoread
" Автоматическая запись перед make, внешними командами и т.п. " " Автоматическая запись перед make, внешними командами и т.п.
set autowrite set autowrite
" Показывать парные скобки " " Показывать парные скобки
set showmatch set showmatch
" Размер табуляции " " Размер табуляции
set tabstop=4 set tabstop=4
" Размер сдвига при нажатии на клавиши << и >> " " Размер сдвига при нажатии на клавиши << и >>
set shiftwidth=4 set shiftwidth=4
" Количество пробелов, на которое будет заменена табуляция " " Количество пробелов, на которое будет заменена табуляция
set softtabstop=4 set softtabstop=4
" Не заменять <TAB> на пробелы " " Не заменять <TAB> на пробелы
set noexpandtab set noexpandtab
" Визуальный перенос строк " " Визуальный перенос строк
set wrap set wrap
" Визуальный перенос строк по словам, а не по буквам " " Визуальный перенос строк по словам, а не по буквам
set linebreak set linebreak
" Визуальный перенос строки с учётом отступов " " Визуальный перенос строки с учётом отступов
set breakindent set breakindent
" Подсветка выражения, которое ищется в тексте " " Подсветка выражения, которое ищется в тексте
set hlsearch set hlsearch
" Переход на найденный текст в процессе набора строки " " Переход на найденный текст в процессе набора строки
set incsearch set incsearch
" Не останавливать поиск при достижении конца файла " " Не останавливать поиск при достижении конца файла
set wrapscan set wrapscan
" Игнорировать регистр букв при поиске, если в шаблоне нет заглавных букв " " Игнорировать регистр букв при поиске, если в шаблоне нет заглавных букв
set smartcase set smartcase
" Копирует отступ от предыдущей строки " " Копирует отступ от предыдущей строки
set autoindent set autoindent
" Автоматическая расстановка отступов " " Автоматическая расстановка отступов
set smartindent set smartindent
" Кодировка внутри Vim " " По умолчанию не сворачивать
set nofoldenable
" Сворачивание согласно синтаксису тормозит, нужно использовать что-то другое
set foldmethod=marker
" Разрешено использование строки режима в файле
set modeline
" Количество строк, в которых производится поиск команд для настройки режима
set modelines=5
" Кодировка внутри Vim
set encoding=utf-8 set encoding=utf-8
" Кодировка терминала " " Кодировка терминала
set termencoding=utf-8 set termencoding=utf-8
" Кодировка для сохраняемого файла " " Кодировка для сохраняемого файла
set fileencoding=utf-8 set fileencoding=utf-8
" Список предполагаемых кодировок в порядке предпочтения " " Список предполагаемых кодировок в порядке предпочтения
set fileencodings=utf8,koi8r,cp1251,cp866,latin1,ucs-2le set fileencodings=utf8,koi8r,cp1251,cp866,latin1,ucs-2le
" Включаем мышку даже в текстовом режиме " " Включаем мышку даже в текстовом режиме
" (без этого символы табуляции раскладываются в кучу пробелов) " " (без этого символы табуляции раскладываются в кучу пробелов)
set mouse=a set mouse=a
" Модель поведения правой кнопки мыши " " Модель поведения правой кнопки мыши
set mousemodel=popup set mousemodel=popup
" Тип переноса строк " " Тип переноса строк
set fileformat=unix set fileformat=unix
" В графическом режиме: убрать меню " " В графическом режиме: убрать меню
set guioptions-=m set guioptions-=m
" В графическом режиме: убрать панель инструментов " " В графическом режиме: убрать панель инструментов
set guioptions-=T set guioptions-=T
" В графическом режиме: убрать прокрутку справа " " В графическом режиме: убрать прокрутку справа
set guioptions-=r set guioptions-=r
" В графическом режиме: убрать прокрутку слева " " В графическом режиме: убрать прокрутку слева
set guioptions-=L set guioptions-=L
" В графическом режиме: отключить графические вкладки " " В графическом режиме: отключить графические вкладки
set guioptions-=e set guioptions-=e
" Шрифт в графическом режиме " " Шрифт в графическом режиме
set guifont=PragmataPro\ 10 if has('gui_running') && !has('nvim')
set guifont=Iosevka\ Fixed\ SS08\ 10
endif
" Количество отображаемых строк над/под курсором " " Количество отображаемых строк над/под курсором
set scrolloff=6 set scrolloff=6
" Количество отображаемых колонок слева/справа от курсора " " Количество отображаемых колонок слева/справа от курсора
set sidescrolloff=5 set sidescrolloff=5
" Нумерация строк включена " " Нумерация строк включена
set number set number
" Нумерация строк абсолютная " " Нумерация строк абсолютная
set nornu set nornu
" Использовать меню в статусной строке " " Использовать меню в статусной строке
set wildmenu set wildmenu
" Клавиша для переключения между пунктами меню " " Клавиша для переключения между пунктами меню
set wildcharm=<Tab> set wildcharm=<Tab>
" Всегда отображать статусную строку для каждого окна " " Всегда отображать статусную строку для каждого окна
set laststatus=2 set laststatus=2
" Отображение набираемой в данный момент команды в правом нижнем углу экрана " " Отображение набираемой в данный момент команды в правом нижнем углу экрана
set showcmd set showcmd
" Пробельные символы " " Пробельные символы
set listchars=tab:>·,trail:~,extends:>,precedes:<,space:␣ set listchars=tab:>·,trail:~,extends:>,precedes:<,space:␣
" Включение отображения пробельных символов " " Включение отображения пробельных символов
set list set list
" Копирование выравнивания от предыдущей строки " " Копирование выравнивания от предыдущей строки
set copyindent set copyindent
"
set clipboard^=unnamed,unnamedplus
"}}} "}}}
map <leader>b :Bufstop<CR> " get a visual on the buffers
map <leader>w :BufstopPreview<CR> " switch files by moving inside the window
map <leader>a :BufstopModeFast<CR> " a command for quick switching
map <C-tab> :BufstopBack<CR>
map <S-tab> :BufstopForward<CR>
let g:BufstopAutoSpeedToggle = 1 " now I can press ,3,3,3 to cycle the last 3 buffers
let g:BufstopSorting = "none"
"{{{ Раскладки клавиатуры "{{{ Раскладки клавиатуры
let g:XkbSwitchEnabled = 1 let g:XkbSwitchEnabled = 1
let g:XkbSwitchNLayout = 'us' let g:XkbSwitchNLayout = 'us'
@@ -256,29 +371,54 @@ let g:XkbSwitchSkipIMappings = {
"{{{ Цветовая схема kolor https://github.com/zeis/vim-kolor/ "{{{ Цветовая схема kolor https://github.com/zeis/vim-kolor/
" Enable italic. Default: 1 " Enable italic. Default: 1
let g:kolor_italic=0 " let g:kolor_italic=0
" Enable bold. Default: 1 " Enable bold. Default: 1
let g:kolor_bold=1 " let g:kolor_bold=1
" Enable underline. Default: 0 " Enable underline. Default: 0
let g:kolor_underlined=0 " let g:kolor_underlined=0
" Gray 'MatchParen' color. Default: 0 " Gray 'MatchParen' color. Default: 0
let g:kolor_alternative_matchparen=0 " let g:kolor_alternative_matchparen=0
" White foreground 'MatchParen' color that might work better with some terminals. Default: 0 " White foreground 'MatchParen' color that might work better with some terminals. Default: 0
let g:kolor_inverted_matchparen=0 " let g:kolor_inverted_matchparen=0
colorscheme kolor " colorscheme kolor
"}}}
highlight SpecialKey guifg=#585858 guibg=NONE gui=none
highlight NonText guifg=#585858 guibg=#2e2d2b gui=none
if &t_Co > 255 "{{{ Цветовая схема srcery https://github.com/srcery-colors/srcery-vim
highlight SpecialKey ctermfg=240 ctermbg=none cterm=none " Enables italic text.
highlight NonText ctermfg=240 ctermbg=235 cterm=none " let g:srcery_italic=0
endif
" Enables bold text.
let g:srcery_bold=1
" Enables underlined text.
let g:srcery_underline=1
" Enables undercurled text.
let g:srcery_undercurl=1
" Highlight search matches using inverse colors.
let g:srcery_inverse_matches=0
" When enabled will highlight matching delimiters using inverse colors. (:DoMatchParen)
let g:srcery_inverse_match_paren=0
colorscheme srcery
"}}}
"{{{
"highlight SpecialKey guifg=#585858 guibg=NONE gui=none
"highlight NonText guifg=#585858 guibg=#2e2d2b gui=none
"if &t_Co <= 256
" highlight SpecialKey ctermfg=240 ctermbg=none cterm=none
" highlight NonText ctermfg=240 ctermbg=235 cterm=none
"endif
" Разноцветные скобки для определённых типов файлов " Разноцветные скобки для определённых типов файлов
autocmd FileType bash,python,vim,html,c,cpp,objc,objcpp call rainbow#load() autocmd FileType bash,python,vim,html,c,cpp,objc,objcpp call rainbow#load()
@@ -288,14 +428,14 @@ autocmd FileType bash,python,vim,html,c,cpp,objc,objcpp call rainbow#load()
let g:better_whitespace_enabled=1 let g:better_whitespace_enabled=1
let g:strip_whitelines_at_eof=1 let g:strip_whitelines_at_eof=1
let g:strip_whitespace_on_save=0 let g:strip_whitespace_on_save=0
autocmd FileType javascript,c,cpp,java,html,ruby,vim,python EnableStripWhitespaceOnSave autocmd FileType javascript,c,cpp,java,html,python,ruby,tex,vim EnableStripWhitespaceOnSave
"}}} "}}}
"{{{1 Статусная строка "{{{1 Статусная строка
" Всегда отображать статусную строку для каждого окна " " Всегда отображать статусную строку для каждого окна
set laststatus=2 set laststatus=2
" Всегда отображать перечень буферов " " Всегда отображать перечень буферов
set showtabline=2 set showtabline=2
" \ [ 'fugitive', 'readonly', 'filename', 'modified' ] ], " \ [ 'fugitive', 'readonly', 'filename', 'modified' ] ],
" \ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}', " \ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}',
@@ -322,6 +462,7 @@ let g:lightline = {
\ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}', \ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}',
\ 'character': '%04B', \ 'character': '%04B',
\ 'separator': '|', \ 'separator': '|',
\ 'lineinfo': '%3l:%-2v',
\ }, \ },
\ 'component_function': { \ 'component_function': {
\ 'mode': 'LightlineMode', \ 'mode': 'LightlineMode',
@@ -396,6 +537,66 @@ if executable('ag')
let g:ctrlp_use_caching = 0 let g:ctrlp_use_caching = 0
endif endif
"""
""" Settings from mswin.vim
"""
if has("clipboard")
" CTRL-X and SHIFT-Del are Cut
vnoremap <C-X> "+x
vnoremap <S-Del> "+x
" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y
vnoremap <C-Insert> "+y
" CTRL-V and SHIFT-Insert are Paste
map <C-V> "+gP
map <S-Insert> "+gP
cmap <C-V> <C-R>+
cmap <S-Insert> <C-R>+
endif
" Pasting blockwise and linewise selections is not possible in Insert and
" Visual mode without the +virtualedit feature. They are pasted as if they
" were characterwise instead.
" Uses the paste.vim autoload script.
" Use CTRL-G u to have CTRL-Z only undo the paste.
if 1
exe 'inoremap <script> <C-V> <C-G>u' . paste#paste_cmd['i']
exe 'vnoremap <script> <C-V> ' . paste#paste_cmd['v']
endif
imap <S-Insert> <C-V>
vmap <S-Insert> <C-V>
" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q> <C-V>
" Use CTRL-S for saving, also in Insert mode (<C-O> doesn't work well when
" using completions).
noremap <C-S> :update<CR>
vnoremap <C-S> <C-C>:update<CR>
inoremap <C-S> <Esc>:update<CR>gi
" For CTRL-V to work autoselect must be off.
" On Unix we have two selections, autoselect can be used.
if !has("unix")
set guioptions-=a
endif
" CTRL-Z is Undo; not in cmdline though
noremap <C-Z> u
inoremap <C-Z> <C-O>u
" CTRL-Y is Redo (although not repeat); not in cmdline though
noremap <C-Y> <C-R>
inoremap <C-Y> <C-O><C-R>
"""
"""
"""
" Use a leader instead of the actual named binding " Use a leader instead of the actual named binding
nmap <leader>p :CtrlP<cr> nmap <leader>p :CtrlP<cr>
@@ -415,15 +616,15 @@ for c in range('1', '9')
endfor endfor
"1}}} "1}}}
" Переход к последней позиции при открытии файла " " Переход к последней позиции при открытии файла
if has("autocmd") if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif
endif endif
" Открыть файл настроек " " Открыть файл настроек
nmap <silent> <leader>vie :e $MYVIMRC<CR> nmap <silent> <leader>vie :e $MYVIMRC<CR>
" Перезагрузить файл настроек " " Перезагрузить файл настроек
nmap <silent> <leader>vis :so $MYVIMRC<CR> nmap <silent> <leader>vis :so $MYVIMRC<CR>
augroup reload_vimrc augroup reload_vimrc
@@ -431,9 +632,14 @@ augroup reload_vimrc
autocmd BufWritePost $MYVIMRC nested source $MYVIMRC autocmd BufWritePost $MYVIMRC nested source $MYVIMRC
augroup END augroup END
" Запись файл с использованием sudo
cmap w!! w !sudo tee > /dev/null %
"{{{ Neomake "{{{ Neomake
" Запускать после записи или чтения файла " Запускать после записи или чтения файла
call neomake#configure#automake('rw', 1000) if exists(":Neomake")
call neomake#configure#automake('rw', 1000)
endif
function! LocationNext() function! LocationNext()
try try
@@ -443,7 +649,7 @@ function! LocationNext()
endtry endtry
endfunction endfunction
" <leader>e для перехода к следующей ошибке или предупреждению " " <leader>e для перехода к следующей ошибке или предупреждению
nnoremap <leader>ee :call LocationNext()<cr> nnoremap <leader>ee :call LocationNext()<cr>
let g:neomake_make_maker = { let g:neomake_make_maker = {
@@ -453,10 +659,10 @@ let g:neomake_make_maker = {
\ } \ }
"}}} "}}}
" Отмена автоматического комментирования кода при вставке из буфера " " Отмена автоматического комментирования кода при вставке из буфера
autocmd FileType * setlocal formatoptions-=cro autocmd FileType * setlocal formatoptions-=cro
" Запрет TAB для markdown " " Запрет TAB для markdown
autocmd FileType markdown set expandtab autocmd FileType markdown set expandtab
autocmd FileType cmake setlocal ts=2 sts=2 sw=2 et autocmd FileType cmake setlocal ts=2 sts=2 sw=2 et
@@ -481,13 +687,22 @@ function! ChangeSpellLang()
endif endif
endfunc endfunc
" Выбор набора языков для проверки орфографии " " Пропуск слов по шаблонам
fun! IgnoreSomeCasesSpell()
syn match LongUpperCase /\<[A-ZА-Я]\{3,}\>/ contains=@NoSpell transparent
syn match CamelCase /\<[A-Z][a-z]\+[A-Z].\{-}\>/ contains=@NoSpell transparent
syn cluster Spell add=CamelCase,LongUpperCase
endfun
autocmd BufRead,BufNewFile * :call IgnoreSomeCasesSpell()
" Выбор Набора языков для проверки орфографии
map <C-F7> :call ChangeSpellLang()<CR> map <C-F7> :call ChangeSpellLang()<CR>
imap <C-F7> <Esc>:call ChangeSpellLang()<CR> imap <C-F7> <Esc>:call ChangeSpellLang()<CR>
" Выбор альтернатив для исправления " " Выбор альтернатив для исправления
imap <F7> <C-X>s imap <F7> <C-X>s
map <F7> z= map <F7> z=
map <S-F7> ]s
"}}} "}}}
"{{{ Переключение варианта нумерации строк "{{{ Переключение варианта нумерации строк
@@ -520,28 +735,28 @@ map <F12> :emenu Encoding.<Tab>
"}}} "}}}
"{{{ Easymotion "{{{ Easymotion
" Не включать команды по умолчанию " " Не включать команды по умолчанию
let g:EasyMotion_do_mapping = 0 let g:EasyMotion_do_mapping = 0
" Умный регистр " " Умный регистр
let g:EasyMotion_smartcase = 1 let g:EasyMotion_smartcase = 1
" <Leader>ec{char} для перехода к {char} " " <Leader>ec{char} для перехода к {char}
map <Leader>ec <Plug>(easymotion-bd-f) map <Leader>ec <Plug>(easymotion-bd-f)
nmap <Leader>ec <Plug>(easymotion-overwin-f) nmap <Leader>ec <Plug>(easymotion-overwin-f)
" s{char}{char} для перехода к {char}{char} " " s{char}{char} для перехода к {char}{char}
nmap s <Plug>(easymotion-overwin-f2) nmap s <Plug>(easymotion-overwin-f2)
" Переход к строке " " Переход к строке
map <Leader>eg <Plug>(easymotion-bd-jk) map <Leader>eg <Plug>(easymotion-bd-jk)
nmap <Leader>eg <Plug>(easymotion-overwin-line) nmap <Leader>eg <Plug>(easymotion-overwin-line)
" Переход к слову " " Переход к слову
map <Leader>ew <Plug>(easymotion-bd-w) map <Leader>ew <Plug>(easymotion-bd-w)
nmap <Leader>ew <Plug>(easymotion-overwin-w) nmap <Leader>ew <Plug>(easymotion-overwin-w)
" Навигация по строкам " " Навигация по строкам
map <Leader>el <Plug>(easymotion-lineforward) map <Leader>el <Plug>(easymotion-lineforward)
map <Leader>ej <Plug>(easymotion-j) map <Leader>ej <Plug>(easymotion-j)
map <Leader>ek <Plug>(easymotion-k) map <Leader>ek <Plug>(easymotion-k)
@@ -592,3 +807,107 @@ xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign) nmap ga <Plug>(EasyAlign)
"}}} "}}}
"{{{ Отключение обработки клавиши BackSpace в плагине vim-stabs
let g:stabs_maps = 'toOc='
"}}}
"{{{ AsciiDoctor
" What to use for HTML, default `asciidoctor`.
let g:asciidoctor_executable = 'asciidoctor'
" What extensions to use for HTML, default `[]`.
let g:asciidoctor_extensions = ['asciidoctor-diagram']
" What to use for PDF, default `asciidoctor-pdf`.
let g:asciidoctor_pdf_executable = 'asciidoctor-pdf'
" What extensions to use for PDF, default `[]`.
let g:asciidoctor_pdf_extensions = ['asciidoctor-diagram']
" What to use for DOCX, default `pandoc`.
" The DOCX 'compilation' process is to generate `docbook` using
" `g:asciidoctor-executable` and then to generate DOCX out of `docbook`
" using `pandoc`.
let g:asciidoctor_pandoc_executable = 'pandoc'
" List of filetypes to highlight, default `[]`
let g:asciidoctor_fenced_languages = ['python', 'c', 'javascript', 'sh', 'tex']
" Function to create buffer local mappings
fun! AsciidoctorMappings()
nnoremap <buffer> <leader>oo :AsciidoctorOpenRAW<CR>
nnoremap <buffer> <leader>op :AsciidoctorOpenPDF<CR>
nnoremap <buffer> <leader>oh :AsciidoctorOpenHTML<CR>
nnoremap <buffer> <leader>ox :AsciidoctorOpenDOCX<CR>
nnoremap <buffer> <leader>ch :Asciidoctor2HTML<CR>
nnoremap <buffer> <leader>cp :Asciidoctor2PDF<CR>
nnoremap <buffer> <leader>cx :Asciidoctor2DOCX<CR>
endfun
" Call AsciidoctorMappings for all `*.adoc` and `*.asciidoc` files
augroup asciidoctor
au!
au BufEnter *.adoc,*.asciidoc call AsciidoctorMappings()
augroup END
"}}}
"{{{ LaTeX
augroup latex
au!
au BufNewFile,BufRead *.tex
\ setlocal tabstop=2 |
\ setlocal softtabstop=2 |
\ setlocal shiftwidth=2 |
\ setlocal expandtab |
\ setlocal iskeyword+=: |
\ setlocal updatetime=1
augroup END
let g:tex_flavor='latex'
let g:vimtex_quickfix_open_on_warning = 0
let g:vimtex_quickfix_mode = 2
let g:vimtex_view_general_viewer = 'evince'
"let g:vimtex_view_method = 'qpdfview'
"let g:livepreview_previewer = 'qpdfview'
let g:tex_conceal = ''
let g:vimtex_compiler_latexmk = {
\ 'executable' : 'latexmk',
\ 'options' : [
\ '-xelatex',
\ '-file-line-error',
\ '-synctex=1',
\ '-interaction=nonstopmode',
\ ],
\}
"}}}
"{{{ Python
augroup python
au!
au BufNewFile,BufRead *.py
\ setlocal tabstop=4 |
\ setlocal softtabstop=4 |
\ setlocal shiftwidth=4 |
\ setlocal textwidth=79 |
\ setlocal expandtab |
\ setlocal autoindent |
\ setlocal fileformat=unix
let g:pymode_python = 'python3'
" enable all Python syntax highlighting features
let python_highlight_all = 1
"}}}
" Чтение настроек проектов из каталогов .vimprj
call vimprj#init()
"{{{ Чтение настроек для текущего компьютера из каталога $HOME/.vim/hosts
let s:host_vimrc = $HOME . '/.vim/hosts/' . hostname() . '.vimrc'
if filereadable(s:host_vimrc)
execute 'source ' . s:host_vimrc
endif
"}}}