X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.vimrc;h=7b535bb90f551ba19baa1fab7a268890f5b0117c;hp=6a4438e68860363e99bb1af2adf41f539b6d690f;hb=104b025d33b8cf5f9d42bda3ac3d158eb7a07701;hpb=bcde0b33db971e047dcbcc241669d622b15fc5af diff --git a/.vimrc b/.vimrc index 6a4438e..7b535bb 100755 --- a/.vimrc +++ b/.vimrc @@ -15,6 +15,7 @@ se ignorecase se smartcase se shm=aot se laststatus=2 +se t_WS=[8;%p1%d;%p2%dt syn enable if has("gui_running") se guifont=Bitstream\ Vera\ Sans\ Mono\ 12 @@ -81,6 +82,23 @@ fun! Show_StatusLine() exec "set statusline=" . sl1 . hexformat . sl2 endfun +fun! Cycle_Number() + if &number + " Restore width. + if &t_WS =~ '^.' + let &columns=g:numbercols + endif + set nonumber + else + " Save width between number toggling. + if &t_WS =~ '^' + let g:numbercols=&columns + let &columns=&columns+5 + endif + set number + endif +endfun + " Save the current window width so if we change it we can restore it " when we quit. let andyoldcols=&columns @@ -124,6 +142,8 @@ map Qx :call Cycle_HexStatusLine(): map Qc :call Invert_Case(): " Cycle list styles with Ql. map Ql :call Cycle_List(): +" Change number mode with Qn. +map Qn :call Cycle_Number(): " Change to ts=2 with Q2. map Q2 :se ts=2: " Change to ts=4 with Q4. @@ -136,8 +156,6 @@ map Q6 :se ts=16: map Q3 :se ts=32: " Change foldmethod with Qf. map Qf :se foldenable!: -" Change number mode with Qn. -map Qn :se number!: " Toggle paste mode with Qp. map Qp :se paste!: " Toggle tags with Qt.