scriptencoding utf-8 lua require('plugin_specs') call utils#Cabbrev('pi', 'Lazy install') call utils#Cabbrev('pud', 'Lazy update') call utils#Cabbrev('pc', 'Lazy clean') call utils#Cabbrev('ps', 'Lazy sync') """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " configurations for vimscript plugins " """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " UltiSnips settings let g:UltiSnipsExpandTrigger='' let g:UltiSnipsEnableSnipMate = 0 let g:UltiSnipsJumpForwardTrigger='' let g:UltiSnipsJumpBackwardTrigger='' let g:UltiSnipsSnippetDirectories=['UltiSnips', 'my_snippets'] " vlime settings command! -nargs=0 StartVlime call jobstart(printf('sbcl --load %s/vlime/lisp/start-vlime.lisp', g:package_home)) " vista settings let g:vista#renderer#icons = { \ 'member': '', \ } let g:vista_echo_cursor = 0 let g:vista_stay_on_open = 0 nnoremap t :Vista!! " vim-mundo settings let g:mundo_verbose_graph = 0 let g:mundo_width = 80 nnoremap u :MundoToggle " better-escape.vim settings let g:better_escape_interval = 200 " vim-xkbswitch settings let g:XkbSwitchEnabled = 1 " markdown-preview settings if g:is_win || g:is_mac let g:mkdp_auto_close = 0 nnoremap :MarkdownPreview nnoremap :MarkdownPreviewStop endif " vim-grammarous settings if g:is_mac let g:grammarous#languagetool_cmd = 'languagetool' let g:grammarous#disabled_rules = { \ '*': ['WHITESPACE_RULE', 'EN_QUOTES', 'ARROWS', 'SENTENCE_WHITESPACE', \ 'WORD_CONTAINS_UNDERSCORE', 'COMMA_PARENTHESIS_WHITESPACE', \ 'EN_UNPAIRED_BRACKETS', 'UPPERCASE_SENTENCE_START', \ 'ENGLISH_WORD_REPEAT_BEGINNING_RULE', 'DASH_RULE', 'PLUS_MINUS', \ 'PUNCTUATION_PARAGRAPH_END', 'MULTIPLICATION_SIGN', 'PRP_CHECKOUT', \ 'CAN_CHECKOUT', 'SOME_OF_THE', 'DOUBLE_PUNCTUATION', 'HELL', \ 'CURRENCY', 'POSSESSIVE_APOSTROPHE', 'ENGLISH_WORD_REPEAT_RULE', \ 'NON_STANDARD_WORD', 'AU', 'DATE_NEW_YEAR'], \ } augroup grammarous_map autocmd! autocmd FileType markdown nmap x (grammarous-close-info-window) autocmd FileType markdown nmap (grammarous-move-to-next-error) autocmd FileType markdown nmap (grammarous-move-to-previous-error) augroup END endif " unicode.vim settings nmap ga (UnicodeGA) " vim-sandwich settings nmap s omap s " vimtex settings if executable('latex') function! s:write_server_name() abort let nvim_server_file = (has('win32') ? $TEMP : '/tmp') . '/vimtexserver.txt' call writefile([v:servername], nvim_server_file) endfunction augroup vimtex_common autocmd! autocmd FileType tex call s:write_server_name() autocmd FileType tex nmap (vimtex-compile) augroup END let g:vimtex_compiler_latexmk = { \ 'build_dir' : 'build', \ } let g:vimtex_toc_config = { \ 'name' : 'TOC', \ 'layers' : ['content', 'todo', 'include'], \ 'resize' : 1, \ 'split_width' : 30, \ 'todo_sorted' : 0, \ 'show_help' : 1, \ 'show_numbers': 1, \ 'mode' : 2, \ } if g:is_win let g:vimtex_view_general_viewer = 'SumatraPDF' let g:vimtex_view_general_options = '-reuse-instance -forward-search @tex @line @pdf' endif if g:is_mac let g:vimtex_view_general_viewer = '/Application/Skim.app/Contents/SharedSupport/displayline' let g:vimtex_view_general_options = '-r @line @pdf @tex' augroup vimtex_mac autocmd! autocmd User VimtexEventCompileSuccess call UpdateSkim() augroup END function! UpdateSkim() abort let l:out = b:vimtex.out() let l:src_file_path = expand('%:p') let l:cmd = [g:vimtex_view_general_viewer, '-r'] if !empty(system('pgrep Skim')) call extend(l:cmd, ['-g']) endif call jobstart(l:cmd + [line('.'), l:out, l:src_file_path]) endfunction endif endif " vim-matchup settings let g:matchup_matchparen_deferred = 1 let g:matchup_matchparen_timeout = 100 let g:matchup_matchparen_insert_timeout = 30 let g:matchup_override_vimtex = 1 let g:matchup_delim_noskips = 0 let g:matchup_matchparen_offscreen = {'method': 'popup'} " asyncrun.vim settings let g:asyncrun_open = 6 if g:is_win let g:asyncrun_encs = 'gbk' endif " firenvim settings if exists('g:started_by_firenvim') && g:started_by_firenvim if g:is_mac set guifont=Iosevka\ Nerd\ Font:h18 else set guifont=Consolas endif let g:firenvim_config = { \ 'globalSettings': { \ 'alt': 'all', \ }, \ 'localSettings': { \ '.*': { \ 'cmdline': 'neovim', \ 'priority': 0, \ 'selector': 'textarea', \ 'takeover': 'never', \ }, \ }, \ } function s:setup_firenvim() abort set signcolumn=no set noruler set noshowcmd set laststatus=0 set showtabline=0 endfunction augroup firenvim autocmd! autocmd BufEnter * call s:setup_firenvim() autocmd BufEnter sqlzoo*.txt set filetype=sql autocmd BufEnter github.com_*.txt set filetype=markdown autocmd BufEnter stackoverflow.com_*.txt set filetype=markdown augroup END endif " nvim-gdb settings nnoremap dp :GdbStartPDB python -m pdb %