Compare commits

..

47 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
9 changed files with 979 additions and 333 deletions

1
.gitignore vendored
View File

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

View File

@ -5,3 +5,12 @@ 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

View File

@ -4,6 +4,7 @@
подмодули
подмодуля
версионный
Ресурсоёмкие
ресурсоёмкие
локали
журналирование
её

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

474
vimrc
View File

@ -13,245 +13,344 @@ call pathogen#infect()
" https://github.com/junegunn/vim-plug
" Менеджер плагинов "
" Менеджер плагинов
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
" Автоматическое переключение раскладки клавиатуры в режиме вставки "
" Автоматическое переключение раскладки клавиатуры в режиме вставки
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/taohexxx/lightline-buffer
" Строка с названиями буферов "
" Строка с названиями буферов
Plug 'itchyny/lightline.vim' | Plug 'taohexxx/lightline-buffer'
" https://github.com/oblitum/rainbow
" Разноцветные скобки "
Plug 'oblitum/rainbow'
" https://github.com/Cheeto836/vim-rainbow
" Разноцветные скобки
Plug 'Cheeto836/vim-rainbow'
" https://github.com/ntpeters/vim-better-whitespace
" Подсветка лишних пробельных символов "
" Подсветка лишних пробельных символов
Plug 'ntpeters/vim-better-whitespace'
" https://github.com/wincent/terminus
" Улучшенная поддержка терминала "
" Улучшенная поддержка терминала
Plug 'wincent/terminus'
" https://www.vim.org/scripts/script.php?script_id=231
" Tab для логической разметки, Space для выравнивания "
Plug 'dpc/vim-smarttabs'
" https://github.com/Thyrum/vim-stabs
" Tab для логической разметки, Space для выравнивания
Plug 'Thyrum/vim-stabs'
" https://github.com/tpope/vim-commentary
" Комментарии
Plug 'tpope/vim-commentary'
" https://github.com/ctrlpvim/ctrlp.vim
" Поиск файлов и буферов "
" Поиск файлов и буферов
Plug 'ctrlpvim/ctrlp.vim'
" https://github.com/easymotion/vim-easymotion
" Быстрая навигация "
" Быстрая навигация
Plug 'easymotion/vim-easymotion'
" https://github.com/haya14busa/incsearch.vim
" Поиск "
" Поиск
Plug 'haya14busa/incsearch.vim' | Plug 'haya14busa/incsearch-easymotion.vim'
" https://github.com/mihaifm/bufstop
Plug 'mihaifm/bufstop'
" https://github.com/moll/vim-bbye
" Удаление буферов с сохранением расположения окон "
" Удаление буферов с сохранением расположения окон
Plug 'moll/vim-bbye'
" https://github.com/sstallion/vim-wildignore
" Чтение масок файлов из файлов wildignore и suffixes "
" Чтение масок файлов из файлов wildignore и suffixes
Plug 'sstallion/vim-wildignore'
" https://github.com/tpope/vim-fugitive
" Git "
" Git
" Plug 'tpope/vim-fugitive'
" https://github.com/airblade/vim-gitgutter
" Отличия от Git в левой колонке "
" Отличия от Git в левой колонке
Plug 'airblade/vim-gitgutter'
" https://github.com/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
" YAML "
" YAML
Plug 'stephpy/vim-yaml'
" https://github.com/plasticboy/vim-markdown
" Markdown "
" Markdown
Plug 'plasticboy/vim-markdown'
"https://github.com/habamax/vim-asciidoctor
" AsciiDoctor "
" AsciiDoctor
Plug 'habamax/vim-asciidoctor'
" https://github.com/SirVer/ultisnips
" Вставка фрагментов кода "
" Вставка фрагментов кода
Plug 'sirver/ultisnips'
" https://github.com/honza/vim-snippets
" Библиотека фрагментов кода "
" Библиотека фрагментов кода
Plug 'honza/vim-snippets'
" https://github.com/aklt/plantuml-syntax
" Plantuml "
" PlantUML
Plug 'aklt/plantuml-syntax'
" https://github.com/JosefLitos/vim-i3config
" Подсветка синтаксиса i3
Plug 'JosefLitos/vim-i3config'
" https://github.com/dhruvasagar/vim-table-mode
" Создание таблиц "
" Создание таблиц
Plug 'dhruvasagar/vim-table-mode'
" https://github.com/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/vhdirk/vim-cmake
" CMake "
Plug 'vhdirk/vim-cmake'
" 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()
"{{{ Базовые настройки
" Включена подсветка синтаксиса "
" Включена подсветка синтаксиса
" Plug устанавливает свои значения, нужно явно переопределить после plug#end
syntax on
filetype plugin indent on
" Отключен режим совместимости "
" Выбор движка для регулярных выражений
autocmd FileType ruby,tex set regexpengine=1
" Отключен режим совместимости
set nocompatible
" Проверка изменения файла другой программой "
" Проверка изменения файла другой программой
set autoread
" Автоматическая запись перед make, внешними командами и т.п. "
" Автоматическая запись перед make, внешними командами и т.п.
set autowrite
" Показывать парные скобки "
" Показывать парные скобки
set showmatch
" Размер табуляции "
" Размер табуляции
set tabstop=4
" Размер сдвига при нажатии на клавиши << и >> "
" Размер сдвига при нажатии на клавиши << и >>
set shiftwidth=4
" Количество пробелов, на которое будет заменена табуляция "
" Количество пробелов, на которое будет заменена табуляция
set softtabstop=4
" Не заменять <TAB> на пробелы "
" Не заменять <TAB> на пробелы
set noexpandtab
" Визуальный перенос строк "
" Визуальный перенос строк
set wrap
" Визуальный перенос строк по словам, а не по буквам "
" Визуальный перенос строк по словам, а не по буквам
set linebreak
" Визуальный перенос строки с учётом отступов "
" Визуальный перенос строки с учётом отступов
set breakindent
" Подсветка выражения, которое ищется в тексте "
" Подсветка выражения, которое ищется в тексте
set hlsearch
" Переход на найденный текст в процессе набора строки "
" Переход на найденный текст в процессе набора строки
set incsearch
" Не останавливать поиск при достижении конца файла "
" Не останавливать поиск при достижении конца файла
set wrapscan
" Игнорировать регистр букв при поиске, если в шаблоне нет заглавных букв "
" Игнорировать регистр букв при поиске, если в шаблоне нет заглавных букв
set smartcase
" Копирует отступ от предыдущей строки "
" Копирует отступ от предыдущей строки
set autoindent
" Автоматическая расстановка отступов "
" Автоматическая расстановка отступов
set smartindent
" Кодировка внутри Vim "
" По умолчанию не сворачивать
set nofoldenable
" Сворачивание согласно синтаксису тормозит, нужно использовать что-то другое
set foldmethod=marker
" Разрешено использование строки режима в файле
set modeline
" Количество строк, в которых производится поиск команд для настройки режима
set modelines=5
" Кодировка внутри Vim
set encoding=utf-8
" Кодировка терминала "
" Кодировка терминала
set termencoding=utf-8
" Кодировка для сохраняемого файла "
" Кодировка для сохраняемого файла
set fileencoding=utf-8
" Список предполагаемых кодировок в порядке предпочтения "
" Список предполагаемых кодировок в порядке предпочтения
set fileencodings=utf8,koi8r,cp1251,cp866,latin1,ucs-2le
" Включаем мышку даже в текстовом режиме "
" (без этого символы табуляции раскладываются в кучу пробелов) "
" Включаем мышку даже в текстовом режиме
" (без этого символы табуляции раскладываются в кучу пробелов)
set mouse=a
" Модель поведения правой кнопки мыши "
" Модель поведения правой кнопки мыши
set mousemodel=popup
" Тип переноса строк "
" Тип переноса строк
set fileformat=unix
" В графическом режиме: убрать меню "
" В графическом режиме: убрать меню
set guioptions-=m
" В графическом режиме: убрать панель инструментов "
" В графическом режиме: убрать панель инструментов
set guioptions-=T
" В графическом режиме: убрать прокрутку справа "
" В графическом режиме: убрать прокрутку справа
set guioptions-=r
" В графическом режиме: убрать прокрутку слева "
" В графическом режиме: убрать прокрутку слева
set guioptions-=L
" В графическом режиме: отключить графические вкладки "
" В графическом режиме: отключить графические вкладки
set guioptions-=e
" Шрифт в графическом режиме "
set guifont=PragmataPro\ 10
" Шрифт в графическом режиме
if has('gui_running') && !has('nvim')
set guifont=Iosevka\ Fixed\ SS08\ 10
endif
" Количество отображаемых строк над/под курсором "
" Количество отображаемых строк над/под курсором
set scrolloff=6
" Количество отображаемых колонок слева/справа от курсора "
" Количество отображаемых колонок слева/справа от курсора
set sidescrolloff=5
" Нумерация строк включена "
" Нумерация строк включена
set number
" Нумерация строк абсолютная "
" Нумерация строк абсолютная
set nornu
" Использовать меню в статусной строке "
" Использовать меню в статусной строке
set wildmenu
" Клавиша для переключения между пунктами меню "
" Клавиша для переключения между пунктами меню
set wildcharm=<Tab>
" Всегда отображать статусную строку для каждого окна "
" Всегда отображать статусную строку для каждого окна
set laststatus=2
" Отображение набираемой в данный момент команды в правом нижнем углу экрана "
" Отображение набираемой в данный момент команды в правом нижнем углу экрана
set showcmd
" Пробельные символы "
" Пробельные символы
set listchars=tab:>·,trail:~,extends:>,precedes:<,space:␣
" Включение отображения пробельных символов "
" Включение отображения пробельных символов
set list
" Копирование выравнивания от предыдущей строки "
" Копирование выравнивания от предыдущей строки
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:XkbSwitchNLayout = 'us'
@ -272,29 +371,54 @@ let g:XkbSwitchSkipIMappings = {
"{{{ Цветовая схема kolor https://github.com/zeis/vim-kolor/
" Enable italic. Default: 1
let g:kolor_italic=0
" let g:kolor_italic=0
" Enable bold. Default: 1
let g:kolor_bold=1
" let g:kolor_bold=1
" Enable underline. Default: 0
let g:kolor_underlined=0
" let g:kolor_underlined=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
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
highlight SpecialKey ctermfg=240 ctermbg=none cterm=none
highlight NonText ctermfg=240 ctermbg=235 cterm=none
endif
"{{{ Цветовая схема srcery https://github.com/srcery-colors/srcery-vim
" Enables italic text.
" let g:srcery_italic=0
" 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()
@ -304,14 +428,14 @@ autocmd FileType bash,python,vim,html,c,cpp,objc,objcpp call rainbow#load()
let g:better_whitespace_enabled=1
let g:strip_whitelines_at_eof=1
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 Статусная строка
" Всегда отображать статусную строку для каждого окна "
" Всегда отображать статусную строку для каждого окна
set laststatus=2
" Всегда отображать перечень буферов "
" Всегда отображать перечень буферов
set showtabline=2
" \ [ 'fugitive', 'readonly', 'filename', 'modified' ] ],
" \ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}',
@ -338,6 +462,7 @@ let g:lightline = {
\ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}',
\ 'character': '%04B',
\ 'separator': '|',
\ 'lineinfo': '%3l:%-2v',
\ },
\ 'component_function': {
\ 'mode': 'LightlineMode',
@ -412,6 +537,66 @@ if executable('ag')
let g:ctrlp_use_caching = 0
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
nmap <leader>p :CtrlP<cr>
@ -431,15 +616,15 @@ for c in range('1', '9')
endfor
"1}}}
" Переход к последней позиции при открытии файла "
" Переход к последней позиции при открытии файла
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif
endif
" Открыть файл настроек "
" Открыть файл настроек
nmap <silent> <leader>vie :e $MYVIMRC<CR>
" Перезагрузить файл настроек "
" Перезагрузить файл настроек
nmap <silent> <leader>vis :so $MYVIMRC<CR>
augroup reload_vimrc
@ -447,6 +632,9 @@ augroup reload_vimrc
autocmd BufWritePost $MYVIMRC nested source $MYVIMRC
augroup END
" Запись файл с использованием sudo
cmap w!! w !sudo tee > /dev/null %
"{{{ Neomake
" Запускать после записи или чтения файла
if exists(":Neomake")
@ -461,7 +649,7 @@ function! LocationNext()
endtry
endfunction
" <leader>e для перехода к следующей ошибке или предупреждению "
" <leader>e для перехода к следующей ошибке или предупреждению
nnoremap <leader>ee :call LocationNext()<cr>
let g:neomake_make_maker = {
@ -471,10 +659,10 @@ let g:neomake_make_maker = {
\ }
"}}}
" Отмена автоматического комментирования кода при вставке из буфера "
" Отмена автоматического комментирования кода при вставке из буфера
autocmd FileType * setlocal formatoptions-=cro
" Запрет TAB для markdown "
" Запрет TAB для markdown
autocmd FileType markdown set expandtab
autocmd FileType cmake setlocal ts=2 sts=2 sw=2 et
@ -499,13 +687,22 @@ function! ChangeSpellLang()
endif
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>
imap <C-F7> <Esc>:call ChangeSpellLang()<CR>
" Выбор альтернатив для исправления "
" Выбор альтернатив для исправления
imap <F7> <C-X>s
map <F7> z=
map <S-F7> ]s
"}}}
"{{{ Переключение варианта нумерации строк
@ -538,28 +735,28 @@ map <F12> :emenu Encoding.<Tab>
"}}}
"{{{ Easymotion
" Не включать команды по умолчанию "
" Не включать команды по умолчанию
let g:EasyMotion_do_mapping = 0
" Умный регистр "
" Умный регистр
let g:EasyMotion_smartcase = 1
" <Leader>ec{char} для перехода к {char} "
" <Leader>ec{char} для перехода к {char}
map <Leader>ec <Plug>(easymotion-bd-f)
nmap <Leader>ec <Plug>(easymotion-overwin-f)
" s{char}{char} для перехода к {char}{char} "
" s{char}{char} для перехода к {char}{char}
nmap s <Plug>(easymotion-overwin-f2)
" Переход к строке "
" Переход к строке
map <Leader>eg <Plug>(easymotion-bd-jk)
nmap <Leader>eg <Plug>(easymotion-overwin-line)
" Переход к слову "
" Переход к слову
map <Leader>ew <Plug>(easymotion-bd-w)
nmap <Leader>ew <Plug>(easymotion-overwin-w)
" Навигация по строкам "
" Навигация по строкам
map <Leader>el <Plug>(easymotion-lineforward)
map <Leader>ej <Plug>(easymotion-j)
map <Leader>ek <Plug>(easymotion-k)
@ -610,6 +807,10 @@ xmap 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'
@ -651,5 +852,62 @@ 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
"}}}