Compview plugin.
[profile.git] / .vimrc
diff --git a/.vimrc b/.vimrc
index eb9715f..f16235a 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -230,9 +230,18 @@ fun! Show_TitleString()
   if bufname("") == ""
     let l:ts1='Vim'
   else
-    let l:ts1=printf("%2d: %s", bufnr(""), expand('%t'))
+    " Vim 5 doesn't have printf.
+    let l:ts1=bufnr("")
+    if l:ts1 < 10
+      let l:ts1=" " . l:ts1
+    endif
+    let l:ts1=l:ts1 . ": " . expand('%t')
+  endif
+  let l:ts1=l:ts1 . " (" .  getcwd() . ")"
+  if has("clientserver")
+    let l:ts1=l:ts1 . " " . v:servername
   endif
-  return printf("%s (%s) %s", l:ts1, getcwd(), v:servername)
+  return l:ts1
 endfun
 
 " Show the status line.
@@ -439,6 +448,9 @@ endfun
 
 " Show numbers by default.
 au Display VimEnter * if ! Uncluttered_Buffer() | call Number(0) | endif
+
+" Position the compview plugin window.
+au Display BufEnter -SearchResults- set buftype=nowrite | set nonumber | wincmd J
 endif
 
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -447,6 +459,10 @@ endif
 if version >= "600"
 version 6.0
 
+if has("win32")
+  se encoding=utf-8
+endif
+
 " Remember quickfix state.
 let g:quickfixing=0
 
@@ -632,9 +648,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
@@ -720,10 +742,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"
@@ -739,6 +781,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
@@ -747,6 +790,7 @@ fun! Cycle_List()
     exec "set lcs=" . basic
     set list
   else
+    call Resize_Columns("+", 1)
     exec "set lcs=" . basic . "," . eol
     set list
   endif