" ~/.vimrc " " vim: foldmethod=marker " "############################################################################### " {{{ НАСТРОЙКИ VIM "############################################################################### " {{{-------------------------- Общие настройки -------------------------------- " let &runtimepath.=',$SHELLRC/etc/vim/vim' set nocompatible " Несовместимость настроек с Vi set history=500 " Настройка истории set t_Co=256 " 256-цветный режим set nohidden " Выгружать буферы при переключении set novisualbell " Отключение визуального оповещения set t_vb= " Отключение визуального оповещения set tabpagemax=99 " Предел открытия вкладок set winminheight=0 " Минимальная высота окна set winminwidth=0 " Минимальная ширина окна set winaltkeys=menu " Включение Win/Alt set autochdir " Переходить в каталог файла set viewdir=$HOME/.shellrc/var/vim/view " Директория файлов состояний буферов set modeline " Настройка modeline set modelineexpr " Настройка modeline " При выходе запоминать состояние файла au BufWinLeave * if bufname("") =~ "..*" | mkview | endif au BufWinEnter * call RestoreState() au BufWinEnter * set cursorline " Отключение zip let g:loaded_zipPlugin = 1 let g:loaded_zip = 1 " }}}--------------------------------------------------------------------------- " {{{-------------------------- Работа с файловой системой---------------------- set autoread " Перечитывать файл при изменении set browsedir=current " Открывать в Ex директорию файла set wildignore=*.bak,*.~ " Не показывать временные файлы в меню " }}}--------------------------------------------------------------------------- " {{{-------------------------- Языки и кодировки ------------------------------ set helplang=ru,en " Языки справки set encoding=utf8 " Кодировка set termencoding=utf-8 " Кодировка текста по умолчанию " }}}--------------------------------------------------------------------------- " {{{-------------------------- Настройка мыши и клавиатуры -------------------- "set mouse=a " Мышь в текстовом режиме set ruler " Всегда показывать положение курсора set mousehide " Скрывать указатель мыши при наборе set scrolljump=7 " Вверх в режиме редактирования set scrolloff=7 " Вниз в режиме редактирования " Смена указателя в зависимости от режима let &t_SI = "\]50;CursorShape=1\x7" let &t_EI = "\]50;CursorShape=0\x7" if &term =~ "xterm\\|rxvt\\|xterm-256color" let &t_SI = "\033]12;orange\007" let &t_EI = "\033]12;darkgrey\007" autocmd VimLeave * :!echo -ne "\033]12;darkgrey\007" endif set backspace=indent,eol,start whichwrap+=<,>,[,] " }}}--------------------------------------------------------------------------- " {{{-------------------------- Редактирование текста -------------------------- syntax on " Подсветка синтаксиса filetype on " Определение типа файла filetype plugin on " Определение типа файла set nu " Нумерация строк set iminsert=0 " Раскладка по умолчанию - английская set virtualedit=all " Перемещение курсора по всему экрану "match ErrorMsg '\%>80v.\+' " Подсветка выхода за 80-й символ match ErrorMsg /\s\+\%#\@> ) " Показывать табуляцию и висящие пробелы (:set list) set listchars=tab:▸·,space:·,nbsp:␣,trail:+,eol:¶,precedes:«,extends:» " }}}--------------------------------------------------------------------------- " {{{-------------------------- Настройка отступов ----------------------------- filetype plugin indent on set autoindent " Автоматическая расстановка отступов set smartindent " Умная расстановка отступов set cindent " Умная расстановка отступов set cin " Расстановка отступов в стиле С " }}}--------------------------------------------------------------------------- " {{{-------------------------- Настройка автодополнения ----------------------- set wildmenu " Меню при автодополнении команд set completeopt=menu " Показывать меню автодополнения set undolevels=1000 " Размер истории для отмены set wrap " Включаем перенос строк set linebreak " Перенос строк по словам, а не по буквам set complete="" " Автозавершение слов set complete+=. " Из текущего буфера set complete+=k " Из словаря set complete+=b " Из других открытых буферов set complete+=t " Из тегов " Автодополнение из файла с синтаксисом autocmd FileType * exec('set dict+='.$VIMRUNTIME.'/syntax/'.getbufvar("%","current_syntax").'.vim') " }}}--------------------------------------------------------------------------- " {{{-------------------------- Скрытие блоков кода ---------------------------- set foldcolumn=1 " Видимая колонка фолдинга " set foldmethod=syntax " Скрытие блоков текста " }}}--------------------------------------------------------------------------- " {{{---------------------- Настройки поиска и замены -------------------------- set incsearch " Поиск по набору текста set inccommand=nosplit " Поиск и замена по ходу набора set hlsearch " Подсветка результатов поиска set wrapscan " Не останавливать поиск при достижении конца файла set ignorecase " Игнорировать регистр букв при поиске set smartcase " Учитывать регистр, если есть заглавные буквы set wildignorecase " Не учитывать регистр при дополнении команд " }}}--------------------------------------------------------------------------- " {{{-------------------------- Настройка резервного копирования --------------- set dir^=~/.shellrc/var/vim/swp/ " Директория сохранения swap-файлов set backup " Cоздавать .bak файлы set backupdir=~/.shellrc/var/vim/backup " Директория хранения бэкапов " Бэкапы в поддиректории function! BackupDir() " Каталог для сохранения резервной копии let l:backupdir=$HOME.'/.shellrc/var/vim/backup/'. \substitute(expand('%:p:h'), '^'.$HOME, '~', '') " Каталог не существует, создадим его рекурсивно if !isdirectory(l:backupdir) call mkdir(l:backupdir, 'p', 0700) endif " Каталог для резервных копий let &backupdir=l:backupdir " Расширение файла резервной копии let &backupext=strftime('.%d-%m-%Y.%T~') endfunction autocmd! bufwritepre * call BackupDir()" " }}}--------------------------------------------------------------------------- " {{{-------------------------- Настройка отмены действий ---------------------- set undodir=$SHELLRC/var/vim/undo set undofile set undolevels=1000 set undoreload=10000" " }}}--------------------------------------------------------------------------- " }}}########################################################################### " {{{ НАСТРОЙКИ ЦВЕТА " ############################################################################## " set background=dark " colo wombat_converted " Цветовая схема " set termguicolors set background=light colo PaperColor_Edit " Грамматические ошибки " hi clear SpellBad " hi SpellBad cterm=bold ctermfg=160 ctermbg=NONE " Ошибки в заглавных буквах " hi clear SpellCap " hi SpellCap cterm=bold ctermfg=110 ctermbg=NONE " Стилистические ошибки " hi clear SpellLocal " hi SpellLocal cterm=bold ctermfg=120 ctermbg=NONE " hi Todo ctermfg=black ctermbg=221 " Метки TODO " hi MatchParen ctermfg=47 ctermbg=NONE " Парные скобки " hi Pmenu ctermfg=black ctermbg=lightgreen " Дополнение - Фон " hi PmenuSel ctermfg=black ctermbg=darkgreen " Дополнение - Элемент " hi CursorLine ctermfg=NONE ctermbg=234 cterm=NONE " Подсветка строки " set cursorline " hi Folded ctermfg=black ctermbg=gray " Скрытие блоков " hi FoldColumn ctermfg=black ctermbg=black " Скрытие блоков " hi Error ctermfg=NONE ctermbg=1 " Ошибки hi ErrorMsg ctermfg=255 ctermbg=160 " Сообщение об ошибке " hi TabLineFill ctermfg=black ctermbg=black " Строка вкладок " hi TabLineSel ctermfg=lightgreen ctermbg=NONE " Текущая вкладка " hi TabLine ctermfg=yellow ctermbg=NONE " Остальные вкладки " hi Comment ctermfg=darkgray " Цвет комментариев " hi Search ctermfg=black ctermbg=209 " Цвет найденного " hi SignColor ctermbg=64 ctermfg=lightyellow guibg=grey guifg=RoyalBlue3 " }}}########################################################################### " {{{ СТРОКА СОСТОЯНИЯ " ############################################################################## set title " set titlestring=\ %t\ (%{expand('%:p:h')}) set showcmd " Показывать размер выделенной области set ch=1 " Количество строк set cmdheight=1 " Коммандная строка в одну линию set laststatus=2 " Всегда отображать статусную строку " set statusline=%#Question# " Цвет " set statusline+=%t%m%r%h%w " Имя файла " set statusline+=%= " Выравн. справа " set statusline+=%#Function# " Цвет " set statusline+=\ [%{strlen(&ft)?&ft:'none'} " Тип файла " set statusline+=\/\%{(&fenc==\"\"?&enc:&fenc)} " Кодировка " set statusline+=\|%L:%03l,%03v\ %p%%] " Строка/столбец " }}}########################################################################### " {{{ КОМБИНАЦИИ КЛАВИШ " ############################################################################## " , как let mapleader="," nmap \ , " Открытие/закрытие блоков текста nnoremap za vnoremap za " Удаление конечных пробелов map S :%s/\s\+$//:let @/='' " Удаление дубликатов строк map D :%s/^\(.*\)\(\n\1\)\+$/\1/ " Выделение недавно редактированного текста nmap gV `[v`] " Отключение подсветки найденного nmap ,/ :nohlsearch " Перемещение курсора в режиме вставки " imap " imap " imap " imap " Показ строк, содержащих слово под курсором nmap g [I:let nr=input("> ")exe "normal " . nr . "[\t" " История комманд cmap " Omnicompletion imap " Открытие буфера с ошибками map co :copen " URxvt Home/End map! [7;7^ map [7;7^ map [8;8^ map! [8;8^ " Копирование от курсора до конца строки nmap Y y$ " Открытие руководства nmap imap vmap nmap fm " Сохранение файла nmap :up vmap :upi imap :upi " Включение режима вклейки set pastetoggle= "nmap `` Goto_next_sign " Проверка орфографии set wcm= menu Spell.ru :setlocal spell:setlocal spelllang=:setlocal spelllang=ru menu Spell.el :setlocal spell:setlocal spelllang=:setlocal spelllang=el menu Spell.en :setlocal spell:setlocal spelllang=:setlocal spelllang=en menu Spell.ru,en,el :setlocal spell:setlocal spelllang=:setlocal spelllang=ru,en,el menu Spell.off :setlocal nospell map :emenu Spell. " Навигация по ошибкам "nmap :cnzv:cc "vmap :cnzv:cc "imap :cnzv:cc "nmap :cpzv:cc "vmap :cpzv:cc "imap :cpzv:cc " Компиляция/запуск интерпретатора nmap :make vmap :make imap :make nmap :copen imap :copen imap :copen nmap :echo system("robodoc &"):echo "MAKING DOCUMENTATION" imap :echo system("robodoc &"):echo "MAKING DOCUMENTATION" vmap :echo system("robodoc &"):echo "MAKING DOCUMENTATION" " < & > - отступы для блоков текста vmap < >gv " Открытие новой вкладки " nmap :tabnew " imap :tabnew " vmap :tabnew " Редактирование командной строки как в Emacs cnoremap cnoremap " cnoremap cnoremap cnoremap cnoremap b cnoremap cnoremap f cnoremap cnoremap " Редактирование макросов ("X,@") nn @ :='let @'.v:register.' = \ '.string(getreg(v:register)) " }}}########################################################################### " {{{ НАСТРОЙКИ ФОРМАТОВ ФАЙЛОВ " ############################################################################## " Terraform {{{ " Вызов terraform fmt при сохранении файла let g:terraform_fmt_on_save = 1 " }}} " }}}########################################################################### " {{{ НАСТРОЙКИ ПЛАГИНОВ " ############################################################################## " Pathogen {{{ " Отключенные плагины let g:pathogen_disabled = ['colorsupport', 'timelog'] execute pathogen#infect('+plugins/{}') " call pathogen#runtime_append_all_bundles() call pathogen#helptags() " }}} " Airline {{{ let g:airline_left_sep = '' let g:airline_right_sep = '' let g:airline_linecolumn_prefix = '/ ' let g:airline_branch_prefix = '⇵ ' let g:airline_paste_symbol = '' let g:airline_whitespace_symbol = '∅' let g:airline_section_c = '%t%m%r%h%w' let g:airline_section_z = '%L:%03l,%03v %p%%' let g:airline_extensions = ['neomake', 'whitespace', 'coc'] " enable/disable fugitive/lawrencium integration let g:airline_enable_branch=1 " enable/disable syntastic integration let g:airline_enable_syntastic=0 " enable/disable tagbar integration let g:airline_enable_tagbar=0 " enable modified detection let g:airline_detect_modified=1 " enable paste detection let g:airline_detect_paste=1 " enable iminsert detection let g:airline_detect_iminsert=1 " enable whitespace detection let g:airline_detect_whitespace=1 "icon and message (default) " change the default theme let g:airline_theme='cool' " enable/disable usage of patched powerline font symbols let g:airline_powerline_fonts=0 let g:airline#extensions#coc#enabled = 1 let airline#extensions#coc#error_symbol = 'E:' let airline#extensions#coc#warning_symbol = 'W:' let airline#extensions#coc#stl_format_err = '%E{[%e(#%fe)]}' let airline#extensions#coc#stl_format_warn = '%W{[%w(#%fw)]}' " define the set of text to display for each mode. let g:airline_mode_map = { 'i': '+', 'n': ' ', 'v': '⇄', 'V': '⇄', '': '⇅', 'R': '✂', 'c': '#', 's': 'SELECT', '^S': 'S-BLOCK', 'S': 'S-LINE' } " }}} " VimWiki"{{{ let wiki = {} if has("win32unix") let wiki.path = '/d/etc/wiki/' let wiki.path_html = '/z/wiki/' else let wiki.path = '~/.shellrc/vimwiki/wiki/' let wiki.path_html = '~/.shellrc/vimwiki/html/' endif let wiki.template_path = '~/.shellrc/vimwiki/style/' let wiki.template_default = 'template' let wiki.template_ext = '.html' let wiki.css_name = 'css/vimwiki.css' let wiki.auto_export = 0 let wiki.nested_syntaxes = { \'prolog': 'prolog' \, 'bash': 'sh' \, 'tcl': 'tcl' \, 'scheme': 'scheme' \, 'haskell': 'haskell' \, 'erlang': 'erlang' \, 'bnf': 'abnf' \, 'plain': 'txt' \, 'diff': 'diff' \, 'javascript': 'javascript' \, 'vim': 'vim' \, 'latex': 'tex'} let wiki.diary_rel_path = 'ЖЖ/Календарь/' let wiki.diary_index = 'Календарь' let wiki.diary_header = 'Календарь' let wiki.diary_link_count = 4 let wiki.maxhi = 0 " Не проверять ссылки (на больших файлах вики тормозит) let g:vimwiki_list = [wiki] let g:vimwiki_hl_headers = 1 let g:vimwiki_fold_lists = 1 " Скрытие блоков let g:vimwiki_camel_case = 0 " Не использовать ВикиСлова let g:vimwiki_list_ignore_newline = 0 " Преобразовывать переводы строк в let g:vimwiki_html_header_numbering = 2 " Нумерация заголовков HTML со второго уровня let g:vimwiki_html_header_numbering_sym = '.' " Нумерация оканчивается точкой let g:vimwiki_user_htmls = 'ЖЖ/Календарь/today.html,ЖЖ/Календарь/timeline.html,ЖЖ/Календарь/statistic_words.html,ЖЖ/Календарь/statistic_tags.html,ЖЖ/Календарь/Карты/Челябинск.html,ЖЖ/Календарь/Карты/Дегтярск.html,ЖЖ/Календарь/Карты/Карабаш.html,ЖЖ/Календарь/Карты/Екатеринбург.html' let g:vimwiki_hl_cb_checked = 1 " Подсвечивать выполненные задания как комментарии let g:vimwiki_valid_html_tags = 'b,i,s,u,sub,sup,kbd,br,hr,embed,type,src,width,height,quality,object,param,p,cite' let g:vimwiki_file_exts = 'pdf,txt,doc,rtf,xls,php,zip,rar,7z,html,gz,mp3,ogg' let g:vimwiki_listsyms = ' ○◐●✓' "}}} " MRU"{{{ nmap m :MRU let MRU_File = $HOME . '/.shellrc/var/vim/mru/vim_mru_files' let MRU_Add_Menu = 0 let MRU_Max_Entries = 150 let MRU_Exclude_Files = '^/tmp/.*\|^/var/tmp/.*\|MERGE_MSG\|.*COMMIT_EDITMSG.*\|viper.*\|_cheat\|bash-fc.*\|vifm\.rename.*\|tmpprms2en3.yml' "}}} " Quickhl {{{ nmap qq (quickhl-toggle) vmap qq (quickhl-toggle) nmap qr (quickhl-reset) vmap qr (quickhl-reset) "}}} " vim-commentary {{{ nmap Commentary nmap CommentaryLine imap Commentary vmap Commentary "}}} " vim-signify {{{ let g:signify_sign_add = '→' let g:signify_sign_delete = '←' let g:signify_sign_delete_first_line = '×' let g:signify_sign_change = '~' " '⮂' let g:signify_sign_change_delete = g:signify_sign_change . g:signify_sign_delete_first_line " }}} " Tasklist"{{{ let g:tlWindowPosition = 1 " Открывать окно снизу экрана let g:tlTokenList = ['TODO','FIXME','DONE','INPROGRESS','XXX','DEBUG','TMP','BUGS', 'knownBug'] "}}} " Timestamp {{{ let g:timestamp_regexp = '\v\C%(<%(Last %([cC]hanged?|modified)|Modified|Измен(е|ё)н)\s*:\s+)@<=.{2,3} \d{2} .{3} \d{4} \d{2}:\d{2}:\d{2}.*$|TIMESTAMP' " %c seems to be different on different systems. Use a full form instead. let g:timestamp_rep = '%a %d %b %Y %H:%M:%S' "}}} "Pummode"{{{ " Выбор вариантов дополнения курсорными клавишами call pummode#map('i', '', 1, "", '') call pummode#map('i', '', 1, "", '') call pummode#map('i', '', 0, '', '') "}}} "Yankring {{{ let g:yankring_history_file=".shellrc/var/vim/yankring/history" let g:yankring_min_element_length = 5 let g:yankring_map_dot = 0 let g:yankring_ignore_operator = 'g~ gu gU ! = gq g? > < zf g@ @:' let g:yankring_clipboard_monitor = 0 map y :YRShow "}}} "Errormarker {{{ let g:errormarker_errorgroup = "Error" let g:errormarker_warninggroup = "Todo" let g:errormarker_errortext = "⚫" let g:errormarker_warningtext = "⚑" "}}} " vim-sdcv {{{ let g:sdcv_save = 1 let g:sdcv_cmd = "sdcv -n --data-dir ~/.shellrc/etc/soft/sdcv/dictionaries/ " nmap fw ,qq:call Dict(expand("")) vmap fw ,qqgv:call Dict(@*) " }}} " javascript-libraries-syntax {{{ let g:used_javascript_libs = 'jquery' " }}} " neomake {{{ " When writing a buffer (no delay). call neomake#configure#automake('w') " let g:neomake_open_list = 2 let g:neomake_haskell_enabled_makers = ["hlint"] " }}} " nnn.vim {{{ let g:nnn#command = 'nnn -C' " Disable default mappings let g:nnn#set_default_mappings = 0 " Start nnn in the current file's directory nnoremap n :NnnPicker %:p:h " Floating window (neovim) let g:nnn#layout = { 'window': { 'width': 0.3, 'height': 0.9, 'highlight': 'Debug', 'xoffset': 0.07, 'yoffset': 0.5 } } let g:nnn#action = { 't': 'tab split' } " }}} " vim-easymotion {{{ map f (easymotion-bd-f) nmap f (easymotion-overwin-f) hi EasyMotionTarget ctermbg=155 ctermfg=black cterm=bold hi EasyMotionTarget2First ctermbg=155 ctermfg=black cterm=bold hi EasyMotionTarget2Second ctermbg=119 ctermfg=black cterm=bold " }}} " startify {{{ let g:startify_bookmarks = [ \ {'r': 'README.md'}, \ {'t': 'TODO.wiki'}, \ ] let g:startify_commands = [ \ {'d': ['Open current directory (GUI)', 'silent exec "!x-open ."']}, \ {'m': ['Make current project ($ make)', 'make']}, \ ] let g:ascii = systemlist('git-cal --unicode 2>/dev/null | head -n 10 | grep -v fatal || echo; echo; todolist | head | sed "s/^/ /; s/:.*TODO:/@TODO:/" | column -t -s @ ') let g:startify_custom_header = g:ascii let g:startify_fortune_use_unicode = 1 let g:startify_session_dir = "$HOME/.shellrc/var/vim/sessions" " Директория файлов сессий autocmd User Startified setlocal buflisted " }}} " cheat40 {{{ let g:cheat40_use_default = 0 " }}} " floaterm {{{ let g:floaterm_keymap_toggle = ',s' let g:floaterm_width = 0.8 let g:floaterm_height = 0.7 let g:floaterm_position = 'center' let g:floaterm_borderchars = ['─', '│', '─', '│', '┌', '┐', '┘', '└'] let g:floaterm_autoclose = 1 " Фокус на основное окно tnoremap w w hi FloatermBorder ctermbg=none ctermfg=236 " }}} " vim-toggle {{{ let g:toggle_map = '' " }}} " vim-matchup {{{ let g:matchup_matchparen_stopline = 400 let g:matchup_matchparen_offscreen = {'method': 'popup'} hi MatchParen ctermbg=193 ctermfg=53 guibg=#bdfc8d " }}} " vim-peekaboo {{{ let g:peekaboo_window = 'vertical botright 40new' let g:peekaboo_compact = 0 " }}} " committia.vim {{{ let g:committia_min_window_width = 80 " }}} " Coc {{{ let g:coc_global_extensions = ['coc-json', 'coc-yaml', 'coc-docker'] let g:coc_suggest_disable = 1 command! Lopen normal! :CocDiagnostics nnoremap K :call show_documentation() function! s:show_documentation() if (index(['vim','help'], &filetype) >= 0) execute 'h '.expand('') else call CocAction('doHover') endif endfunction " Highlight the symbol and its references when holding the cursor. " autocmd CursorHold * silent call CocActionAsync('highlight') " Introduce function text object " NOTE: Requires 'textDocument.documentSymbol' support from the language server. xmap if (coc-funcobj-i) xmap af (coc-funcobj-a) omap if (coc-funcobj-i) omap af (coc-funcobj-a) " GoTo code navigation. nmap gD :call CocActionAsync('jumpDefinition', 'split') nmap gy (coc-type-definition) " nmap gi (coc-implementation) nmap gr (coc-references) " Use tab for trigger completion with characters ahead and navigate. " NOTE: Use command ':verbose imap ' to make sure tab is not mapped by " other plugin before putting this into your config. inoremap \ pumvisible() ? "\" : \ check_back_space() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\\" inoremap \ pumvisible() ? coc#_select_confirm() : \ coc#expandableOrJumpable() ? "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : \ check_back_space() ? "\" : \ coc#refresh() function! s:check_back_space() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction " Use for trigger snippet expand. " imap (coc-snippets-expand) " Use for select text for visual placeholder of snippet. vmap (coc-snippets-select) " Use for jump to next placeholder, it's default of coc.nvim let g:coc_snippet_next = '' " Use for jump to previous placeholder, it's default of coc.nvim let g:coc_snippet_prev = '' " }}} " HaskellConcealPlus {{{ " [ ] 'q' option to disable concealing of scientific constants (e.g. π) " [ ] '℘' option to disable concealing of powerset function " [ ] '𝐒' option to disable String type to 𝐒 concealing " [ ] '𝐓' option to disable Text type to 𝐓 concealing " [ ] '𝐄' option to disable Either/Right/Left to 𝐄/𝑅/𝐿 concealing " [ ] '𝐌' option to disable Maybe/Just/Nothing to 𝐌/𝐽/𝑁 concealing " [X] 'A' option to not try to preserve indentation " [ ] 's' option to disable space consumption after ∑,∏,√ and ¬ functions " [X] '*' option to enable concealing of asterisk with '⋅' sign " [X] 'x' option to disable default concealing of asterisk with '×' sign " [X] 'E' option to enable ellipsis concealing with ‥ (two dot leader) " [X] 'e' option to disable ellipsis concealing with … (ellipsis sign) " [ ] '⇒' option to disable `implies` concealing with ⇒ " [ ] '⇔' option to disable `iff` concealing with ⇔ " [X] 'r' option to disable return (η) and join (µ) concealing " [ ] 'b' option to disable bind (left and right) concealing " [ ] 'f' option to enable formal (★) right bind concealing " [ ] 'c' option to enable encircled b/d (ⓑ/ⓓ) for right and left binds " [ ] 'h' option to enable partial concealing of binds (e.g. »=) " [ ] 'C' option to enable encircled 'm' letter ⓜ concealing for fmap " [X] 'l' option to disable fmap/lift concealing with ↥ " [X] '↱' option to disable mapM/forM concealing with ↱/↰ " [X] 'w' option to disable 'where' concealing with "due to"/∵ symbol " [X] '-' option to disable subtract/(-) concealing with ⊟ " [ ] 'I' option to enable alternative ':+' concealing with with ⨢ " [ ] 'i' option to disable default concealing of ':+' with ⅈ " [ ] 'R' option to disable realPart/imagPart concealing with ℜ/ℑ " [X] 'T' option to enable True/False constants concealing with bold 𝐓/𝐅 " [X] 't' option to disable True/False constants concealing with italic 𝑇/𝐹 " [ ] 'B' option to disable Bool type to 𝔹 concealing " [ ] 'Q' option to disable Rational type to ℚ concealing " [ ] 'Z' option to disable Integer type to ℤ concealing " [ ] 'N' option to disable Natural, Nat types to ℕ concealing " [ ] 'D' option to disable Double type to 𝔻 concealing " [ ] 'C' option to disable Complex type to ℂ concealing " [ ] '1' option to disable numeric superscripts concealing, e.g. x² " [ ] 'a' option to disable alphabet superscripts concealing, e.g. xⁿ let hscoptions="Ax*Eerl↱w-Tt" " }}} " {{{ vista.vim let g:vista_default_executive = 'coc' let g:vista_cursor_delay = 0 let g:vista_echo_cursor_strategy = 'echo' let g:vista_blink = [0, 0] let g:vista#renderer#enable_icon = 1 let g:vista#renderer#icons = { \ "file": "▸", \ "function": "ℱ", \ "module": "ℳ", \ "variable": "𝒱", \ "struct": "𝒮", \ "field": "𝕗", \ } nmap f :Vista!! " }}} " }}}########################################################################### " {{{ ВВОД КОМАНД В ДРУГИХ РАСКЛАДКАХ " ############################################################################## runtime +layouts/russian.vim runtime +layouts/greek.vim runtime +layouts/coptic.vim " }}}########################################################################### " {{{ ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ " ############################################################################## runtime vimrc.functions " }}} ##########################################################################