]> git.phdru.name Git - dotfiles.git/blobdiff - .vimrc
.vimrc: Add functions `Code`/`Text`
[dotfiles.git] / .vimrc
diff --git a/.vimrc b/.vimrc
index bcc859b9871c29e94f3125c3805d7a24ca65c5a6..c4e396cc393523f8c4014a525f518d21445bbfe9 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -185,15 +185,16 @@ set fileencodings=ucs-bom,us-ascii,utf-8,koi8-r,cp1251,cp866,latin1
 " ' - number of files for which the marks are remembered;
 " " and < - maximum number of lines saved for a register;
 " s - maximum size of an item in Kbytes.
+set viminfo=!,h,'50
 if version < 603
-   set viminfo=!,h,'50,\"1000
+   set viminfo+=\"1000
 else
-   set viminfo=!,h,'50,<1000,s10
+   set viminfo+=<1000,s10
 endif
 
 " c - convert viminfo to the current encoding;
 if has("iconv")
-   set viminfo^=c
+   set viminfo+=c
 endif
 
 " Removable media paths
@@ -573,7 +574,7 @@ function! SlowTerm()
    set wildmode=list:longest
    set viminfo=!,h,'10,<100,s5
    if has("iconv")
-      set viminfo^=c
+      set viminfo+=c
    endif
    syntax off
    highlight NonText cterm=NONE ctermfg=NONE
@@ -611,6 +612,7 @@ if executable('chmod')
          echoerr 'Error running chmod: ' . v:shell_error
       endif
       checktime
+      autocmd! FileChangedShell <buffer>
    endfunction
    function! _BufChangedCB()
       autocmd! FileChangedShell <buffer>
@@ -618,6 +620,15 @@ if executable('chmod')
    command! ToggleXbit if executable(expand("%:p")) | call SetExecutableBit(0) | else | call SetExecutableBit(1) | endif
 endif
 
+function! Code()
+    setlocal tabstop=8 softtabstop=4 shiftwidth=4 expandtab
+endfunction
+command! Code call Code()
+
+function! Text()
+    setlocal tabstop=8 softtabstop=3 shiftwidth=3 expandtab
+endfunction
+command! Text call Text()
 
 " ----------
 " From http://slobin.pp.ru/vim/_vimrc.html
@@ -784,5 +795,15 @@ command! UName Uname
 endif
 " ----------
 
+if has("iconv")
+function! SetViminfoEncoding()
+   " Set universal encoding for .viminfo
+   if &encoding != 'utf-8'
+      set encoding=utf-8
+   endif
+endfunction
+autocmd VimLeavePre * call SetViminfoEncoding()
+endif
+
 " This has to go to the very end of ~/.vimrc to allow reading the .vimrc
 set secure        " safer working with script files in the current directory