|
|
|
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
|
|
|
|
|