Dotfiles.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
5.8 KiB

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