]> git.phdru.name Git - dotfiles.git/blobdiff - .vimrc
.vimrc: Add functions `Code`/`Text`
[dotfiles.git] / .vimrc
diff --git a/.vimrc b/.vimrc
index 25658e1a0ab51ff3ca81b9c173da3f4b2468d7ec..c4e396cc393523f8c4014a525f518d21445bbfe9 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -87,7 +87,9 @@ set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%)\ -\ [%{$USER}@%{h
 
 " 9 using the mouse
 
-set mouse=ar      " Use mouse in all modes, plus hit-return
+if has('mouse')
+   set mouse=ar      " Use mouse in all modes, plus hit-return
+endif
 
 " 12 messages and info
 
@@ -183,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
@@ -570,6 +573,9 @@ function! SlowTerm()
    set nowildmenu
    set wildmode=list:longest
    set viminfo=!,h,'10,<100,s5
+   if has("iconv")
+      set viminfo+=c
+   endif
    syntax off
    highlight NonText cterm=NONE ctermfg=NONE
 endfunction
@@ -606,6 +612,7 @@ if executable('chmod')
          echoerr 'Error running chmod: ' . v:shell_error
       endif
       checktime
+      autocmd! FileChangedShell <buffer>
    endfunction
    function! _BufChangedCB()
       autocmd! FileChangedShell <buffer>
@@ -613,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
@@ -779,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