Change caption name of figures

First, you have to redefine \figurename. Without using the babel package:

\renewcommand{\figurename}{Fig.}

With babel (and English as language):

\addto\captionsenglish{\renewcommand{\figurename}{Fig.}}

For other babel languages you need to use the proper \captions<language> command instead of \captionsenglish in the command above.

For changing the separator between label and caption text, I recommend the caption package.

\documentclass{article}

\renewcommand{\figurename}{Fig.}

\usepackage[labelsep=endash]{caption}

\begin{document}

\begin{figure}
\centering
\rule{1cm}{1cm}
\caption{This is a figure}
\end{figure}

\end{document}

EDIT: In case anyone wonders how to change the caption name of tables: Redefine \tablename.


This is a simple solution:

\usepackage[figurename=Fig.]{caption}

Works with and without babel. Use tablename for tables.