This is revisited version of Loop Space's answer using pic in place of node that were not available in 2010.
The main advantages is that the pic inherits the path style (line width, color, ...) from the current path.
\documentclass[tikz,border=7pt]{standalone} \usetikzlibrary{arrows} \tikzset{ arrow/.pic={\path[tips,every arrow/.try,->,>=#1] (0,0) -- +(.1pt,0);}, pics/arrow/.default={triangle 90} } \begin{document} \begin{tikzpicture} \begin{scope}[very thick,nodes={sloped,allow upside down}] \draw (-4,0) -- pic{arrow} (4,0); \draw (4,0) -- pic[blue]{arrow} (4,2); \draw[thin,purple] (4,2) -- pic{arrow=latex} (-4,2); \draw[every arrow/.style=red] (-4,2) -- pic[pos=.3]{arrow} pic[pos=.7]{arrow} (-4,0); \end{scope} \end{tikzpicture} \end{document}

And you can draw your own arrow using pics, for example by redefining arrow style
arrow/.pic={\fill[every arrow/.try,scale={\pgflinewidth/1cm}] (0,0) -- (-150:7) -- (150:7) -- (0,0) circle(2);}
will produce the following picture
