+" Toggle signs.
+fun! <SID>Cycle_Signs()
+ call Iain_Vars()
+ let g:marksigns = ! g:marksigns
+
+ if g:marksigns
+ " Signs to highlight marks.
+ " Syntax won't work properly in Vim 6.
+ sign define MarkDash text=' texthl=MarkSign
+ sign define MarkDot text=* texthl=MarkDot
+ sign define MarkQuote text=" texthl=MarkSign
+ sign define MarkCaret text=^ texthl=MarkSign
+ sign define MarkLess text=< texthl=MarkSign
+ sign define MarkGreater text=> texthl=MarkSign
+ sign define MarkLeft text=[ texthl=MarkSign
+ sign define MarkRight text=] texthl=MarkSign
+ sign define Marka text=a texthl=MarkSign linehl=MarkLine
+ sign define Markb text=b texthl=MarkSign linehl=MarkLine
+ sign define Markc text=c texthl=MarkSign linehl=MarkLine
+ sign define Markd text=d texthl=MarkSign linehl=MarkLine
+ sign define Marke text=e texthl=MarkSign linehl=MarkLine
+ sign define Markf text=f texthl=MarkSign linehl=MarkLine
+ sign define MarkA text=A texthl=MarkSign linehl=MarkLine
+ sign define MarkB text=B texthl=MarkSign linehl=MarkLine
+ sign define MarkC text=C texthl=MarkSign linehl=MarkLine
+ sign define MarkD text=D texthl=MarkSign linehl=MarkLine
+ sign define MarkE text=E texthl=MarkSign linehl=MarkLine
+ sign define MarkF text=F texthl=MarkSign linehl=MarkLine
+
+ call Resize_Columns("+", 2)
+ call <SID>Highlight_Signs()
+ else
+ exe "sign unplace " . (g:firstsign + 0)
+ exe "sign unplace " . (g:firstsign + 1)
+ exe "sign unplace " . (g:firstsign + 2)
+ exe "sign unplace " . (g:firstsign + 3)
+ exe "sign unplace " . (g:firstsign + 4)
+ exe "sign unplace " . (g:firstsign + 5)
+ exe "sign unplace " . (g:firstsign + 6)
+ exe "sign unplace " . (g:firstsign + 7)
+ exe "sign unplace " . (g:firstsign + 8)
+ exe "sign unplace " . (g:firstsign + 9)
+ exe "sign unplace " . (g:firstsign + 10)
+ exe "sign unplace " . (g:firstsign + 11)
+ exe "sign unplace " . (g:firstsign + 12)
+ exe "sign unplace " . (g:firstsign + 13)
+ exe "sign unplace " . (g:firstsign + 14)
+ exe "sign unplace " . (g:firstsign + 15)
+ exe "sign unplace " . (g:firstsign + 16)
+ exe "sign unplace " . (g:firstsign + 17)
+ exe "sign unplace " . (g:firstsign + 18)
+ exe "sign unplace " . (g:firstsign + 19)
+
+ sign undefine MarkDash
+ sign undefine MarkDot
+ sign undefine MarkQuote
+ sign undefine MarkCaret
+ sign undefine MarkLess
+ sign undefine MarkGreater
+ sign undefine MarkLeft
+ sign undefine MarkRight
+ sign undefine Marka
+ sign undefine Markb
+ sign undefine Markc
+ sign undefine Markd
+ sign undefine Marke
+ sign undefine Markf
+ sign undefine MarkA
+ sign undefine MarkB
+ sign undefine MarkC
+ sign undefine MarkD
+ sign undefine MarkE
+ sign undefine MarkF
+
+ call <SID>Prep_Signs()
+ call Resize_Columns("-", 2)
+ endif
+endfun