sh.vim 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. " Vim filetype plugin file
  2. " Language: sh
  3. " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
  4. " Last Changed: 20 Jan 2009
  5. " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
  6. if exists("b:did_ftplugin") | finish | endif
  7. let b:did_ftplugin = 1
  8. " Make sure the continuation lines below do not cause problems in
  9. " compatibility mode.
  10. let s:save_cpo = &cpo
  11. set cpo-=C
  12. setlocal commentstring=#%s
  13. " Shell: thanks to Johannes Zellner
  14. if exists("loaded_matchit")
  15. let s:sol = '\%(;\s*\|^\s*\)\@<=' " start of line
  16. let b:match_words =
  17. \ s:sol.'if\>:' . s:sol.'elif\>:' . s:sol.'else\>:' . s:sol. 'fi\>,' .
  18. \ s:sol.'\%(for\|while\)\>:' . s:sol. 'done\>,' .
  19. \ s:sol.'case\>:' . s:sol. 'esac\>'
  20. endif
  21. " Change the :browse e filter to primarily show shell-related files.
  22. if has("gui_win32")
  23. let b:browsefilter="Bourne Shell Scripts (*.sh)\t*.sh\n" .
  24. \ "Korn Shell Scripts (*.ksh)\t*.ksh\n" .
  25. \ "Bash Shell Scripts (*.bash)\t*.bash\n" .
  26. \ "All Files (*.*)\t*.*\n"
  27. endif
  28. " Undo the stuff we changed.
  29. let b:undo_ftplugin = "setlocal cms< | unlet! b:browsefilter b:match_words"
  30. " Restore the saved compatibility options.
  31. let &cpo = s:save_cpo
  32. unlet s:save_cpo