+fun! Cycle_Number()
+ if &number
+ " Restore width.
+ if &t_WS =~ '^\e.'
+ let &columns=g:numbercols
+ endif
+ set nonumber
+ else
+ " Save width between number toggling.
+ if &t_WS =~ '^\e'
+ let g:numbercols=&columns
+ let &columns=&columns+5
+ endif
+ set number
+ endif
+endfun
+