au BufRead,BufNewFile *.gv setlocal filetype=graphviz au BufRead,BufNewFile *.lisp,*.scm setlocal lisp au BufRead,BufNewFile *.mutt setlocal filetype=muttrc au BufRead,BufNewFile *.note setlocal filetype=note au BufRead,BufNewFile *.pro setlocal filetype=prolog au BufRead,BufNewFile *.r setlocal filetype=rebol au BufRead,BufNewFile *.rename setlocal filetype=rename au BufRead,BufNewFile *.rkt setlocal filetype=racket au BufRead,BufNewFile *.rsc setlocal filetype=rsc au BufRead,BufNewFile *.sls,Saltfile setlocal filetype=sls au BufRead,BufNewFile *.test setlocal filetype=tcl au BufRead,BufNewFile *.tex setlocal filetype=tex au BufRead,BufNewFile *.tf,*.tfvars setlocal filetype=terraform au BufRead,BufNewFile *.tfstate setlocal filetype=json au BufRead,BufNewFile *.timelog setlocal filetype=timelog au BufRead,BufNewFile *.txt setlocal filetype=txt au BufRead,BufNewFile *.txt setlocal textwidth=80 au BufRead,BufNewFile *.vim setlocal filetype=vim au BufRead,BufNewFile *.wiki setlocal filetype=vimwiki au BufRead,BufNewFile *.xpt.vim setlocal filetype=xpt.vim au BufRead,BufNewFile *.xpt.vim setlocal filetype=xpt.vim au BufRead,BufNewFile */templates/*.yaml,*/templates/*.tpl setlocal filetype=helm au BufRead,BufNewFile *rtorrent.rc* setlocal filetype=rtorrent au BufRead,BufNewFile Containerfile setlocal filetype=dockerfile au BufRead,BufNewFile Vagrantfile setlocal filetype=ruby au BufRead,BufNewFile bash-fc* setlocal filetype=sh au BufRead,BufNewFile rfc* setlocal filetype=rfc au BufWinEnter,BufRead,BufNewFile *.wiki setlocal nocursorline au BufReadPost *.doc setlocal filetype=txt au BufReadPost *.doc %!antiword "%" au BufReadPre *.doc setlocal hlsearch! au BufReadPre *.doc setlocal ro au BufReadPost *.docx %!docx2txt "%" - au BufReadPost *.docx setlocal filetype=txt au BufReadPre *.docx setlocal hlsearch! au BufReadPre *.docx setlocal ro au BufReadPost *.odt setlocal filetype=txt au BufReadPost *.odt %!odt2txt "%" au BufReadPre *.odt setlocal hlsearch! au BufReadPre *.odt setlocal ro au BufReadPost *.pdf setlocal filetype=txt au BufReadPost *.pdf %!pdftotext -nopgbrk "%" - | fmt -csw78 au BufReadPre *.pdf setlocal hlsearch! au BufReadPre *.pdf setlocal ro au BufReadPost *.rtf setlocal filetype=txt au BufReadPost *.rtf %!catdoc "%" au BufReadPre *.rtf setlocal hlsearch! au BufReadPre *.rtf setlocal ro " Liquid au BufNewFile,BufRead *.liquid setlocal filetype=liquid au BufNewFile,BufRead */_layouts/*.html,*/_includes/*.html setlocal filetype=liquid au BufNewFile,BufRead *.html,*.xml,*.textile \ if getline(1) == '---' | setlocal filetype=liquid | endif au BufNewFile,BufRead *.markdown,*.mkd,*.mkdn,*.md \ if getline(1) == '---' | \ let b:liquid_subtype = 'markdown' | \ setlocal filetype=liquid | \ endif " Set subtype for Shopify alternate templates au BufNewFile,BufRead */templates/**.liquid,*/layout/**.liquid,*/snippets/**.liquid \ let b:liquid_subtype = 'html' | \ setlocal filetype=liquid | " Открывать справку в вертикальном окне au! BufEnter * if &ft ==# 'help' | wincmd L | endif " Ansible function! s:isAnsible() let filepath = expand("%:p") let filename = expand("%:t") if filepath =~ '\v/(defaults|tasks|roles|handlers|meta|vars)/.*\.ya?ml$' | return 1 | en if filepath =~ '\v/(group|host)_vars/' | return 1 | en if filename =~ '\v(playbook|site|main|local)\.ya?ml$' | return 1 | en let shebang = getline(1) if shebang =~# '^#!.*/bin/env\s\+ansible-playbook\>' | return 1 | en if shebang =~# '^#!.*/bin/ansible-playbook\>' | return 1 | en return 0 endfunction function! s:setupTemplate() if exists("g:ansible_template_syntaxes") let filepath = expand("%:p") for syntax_name in items(g:ansible_template_syntaxes) let s:syntax_string = '\v/'.syntax_name[0] if filepath =~ s:syntax_string execute 'setlocal filetype='.syntax_name[1].'.jinja' return endif endfor endif setlocal filetype=jinja endfunction augroup ansible_vim_ftyaml_ansible au! au BufNewFile,BufRead * if s:isAnsible() | setlocal filetype=yaml.ansible | en augroup END augroup ansible_vim_ftjinja2 au! au BufNewFile,BufRead *.j2 call s:setupTemplate() augroup END augroup ansible_vim_fthosts au! au BufNewFile,BufRead *inventory* setlocal filetype=ansible_hosts augroup END