Show virtualedit status in statusline.
authorIain Patterson <me@iain.cx>
Thu, 22 Jul 2010 09:17:55 +0000 (10:17 +0100)
committerIain Patterson <me@iain.cx>
Tue, 3 Aug 2010 15:12:42 +0000 (16:12 +0100)
.vimrc

diff --git a/.vimrc b/.vimrc
index 4e2d8e6..d28d4e5 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -665,6 +665,23 @@ fun! Show_Paste() "{{{2
 endfun "}}}2
 
 " Helper for status line.
+" Show v when virtualedit mode is block, insert or onemore.
+" Show V when virtualedit mode is all.
+fun! Show_VirtualEdit() "{{{2
+  if ! has("virtualedit")
+    return ""
+  endif
+
+  if &ve == "all"
+    return "V"
+  elseif &ve
+    return "v"
+  else
+    return ""
+  endif
+endfun "}}}2
+
+" Helper for status line.
 " Show U when persistent undo is on.
 " Show u when persistent undo is off but an undofile exists.
 fun! Show_Undo() "{{{2
@@ -698,7 +715,7 @@ fun! Show_StatusLine() "{{{2
     return
   endif
   call Iain_Vars()
-  let l:sl1='%2n\:\ %<%1*%f%0*\ [%{Show_List()}%{Show_Case()}%{Show_Tabstop()}%{Show_Paste()}%{Show_Undo()}%Y%M%R]%{Show_Alt()}\ '
+  let l:sl1='%2n\:\ %<%1*%f%0*\ [%{Show_List()}%{Show_Case()}%{Show_Tabstop()}%{Show_Paste()}%{Show_VirtualEdit()}%{Show_Undo()}%Y%M%R]%{Show_Alt()}\ '
   let l:sl3='L:%1*%4.6l%0*/%-4.6L\ C:%1*%3.6c%0*\ \|\ %P'
   let l:hexformat='%b'
   if b:iainhex