Grow a column when setting full list mode.
[profile.git] / .vimrc
diff --git a/.vimrc b/.vimrc
index 500794f..6ee4114 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -456,6 +456,10 @@ endif
 if version >= "600"
 version 6.0
 
+if has("win32")
+  se encoding=utf-8
+endif
+
 " Remember quickfix state.
 let g:quickfixing=0
 
@@ -641,9 +645,15 @@ fun! <SID>Cycle_Signs(resize)
   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
+    if <SID>Has_Unicode()
+      sign define MarkDash text=’ texthl=MarkSign
+      sign define MarkDot text=• texthl=MarkDot
+      sign define MarkQuote text=” texthl=MarkSign
+    else
+      sign define MarkDash text=' texthl=MarkSign
+      sign define MarkDot text=* texthl=MarkDot
+      sign define MarkQuote text=" texthl=MarkSign
+    endif
     sign define MarkCaret text=^ texthl=MarkDot
     sign define MarkLess text=< texthl=MarkSign
     sign define MarkGreater text=> texthl=MarkSign
@@ -729,10 +739,30 @@ fun! <SID>Cycle_Signs(resize)
   endif
 endfun
 
+fun! <SID>Has_Unicode()
+  if ! has('multi_byte')
+    return 0
+  endif
+
+  if version < "602"
+    return 0
+  endif
+
+  if &tenc =~? '^u\(tf\|cs\)'
+    return 1
+  endif
+
+  if ! strlen(&tenc) && &enc =~? '^u\(tf\|cs\)'
+    return 1
+  endif
+
+  return 0
+endfun
+
 " Change list mode.
 fun! Cycle_List()
   " Pretty UTF-8 listchars.
-  if has('multi_byte') && (&tenc =~? '^u\(tf\|cs\)' || (! strlen(&tenc) && &enc =~? '^u\(tf\|cs\)')) && v:version >= "602"
+  if <SID>Has_Unicode()
     let basic='tab:»·,trail:…,extends:«,precedes:»'
     let eol='eol:¶'
     if version >= "700"
@@ -748,6 +778,7 @@ fun! Cycle_List()
   call Iain_Vars()
   let b:iainlist = b:iainlist + 1
   if b:iainlist > 2
+    call Resize_Columns("-", 1)
     let b:iainlist = 0
   endif
   if b:iainlist == 0
@@ -756,6 +787,7 @@ fun! Cycle_List()
     exec "set lcs=" . basic
     set list
   else
+    call Resize_Columns("+", 1)
     exec "set lcs=" . basic . "," . eol
     set list
   endif