faraway  
"=============================================================================
" Description: MY vimrc with dozens of scripts, for Linux/Windows, GUI/Console
"              Originally from MetaCosm's http://vi-improved.org/vimrc.php
"
" Last Change: 0 14/05/2006 23:36:39 Leal@RAINT:_vimrc
"
" Author:      Leal <linxiao.li AT gmail DOT com>
"              Get latest vimrc from http://www.leal.cn/
"
" Version:     1.0065
"
" Usage:       1. Prepare necessary dirs and files.
"
"              $VIMDATA         X:\Vim\vimdata on Win, ~/vimdata on Linux
"               |
"               |-- temp        to put swap files <DIR>
"               |-- backup      to put backup files <DIR>
"               |-- diary       to save calendar.vim's diaries <DIR>
"               |-- GetLatest   to save GetLatestVimScripts.vim's <DIR>
"               |      |
"               |      `-- GetLatestVimScripts.dat   to store GLVS's items
"               |
"               |-- _vim_fav_files   to store favmenu.vim's items
"               `-- _vim_mru_files   to store mru.vim's items
"
"              2. Get all scripts you favor on www.vim.org, better with GLVS.
"
"              3. Get all needed utilities, especially on Windows, e.g.
"              wget  -- WGET for Windows  http://users.ugent.be/~bpuype/wget/
"              ctags -- Exuberant Ctags   http://ctags.sf.net/
"
"              4. If have no idea of some option, just press K (<S-k>) on it.
"
"              5. HTML file is produced with :TOhtml, with colo default.
"
"=============================================================================

"-----------------------------------------------------------------------------
" general
"-----------------------------------------------------------------------------
set nocompatible        " use vim as vim, should be put at the very start
set history=100         " lines of Ex-mode commands, search history
set browsedir=buffer    " use directory of the related buffer for file browser
set clipboard+=unnamed  " use clipboard register '*' for all y, d, c, p ops
set viminfo+=!          " make sure it can save viminfo
set isk+=$,%,#,-,@,_    " none of these should be word dividers
set confirm             " raise a dialog confirm whether save changed buffer
set ffs=unix,dos,mac    " favor unix, which behaves good under Linux/Windows
set fenc=utf-8          " default fileencoding
set fencs=utf-8,ucs-bom,euc-jp,gb18030,gbk,gb2312,cp936
map Q gq
                        " do not use Ex-mode, use Q for formatting
filetype on             " enable file type detection
filetype plugin on      " enable loading the plugin for appropriate file type

"-----------------------------------------------------------------------------
" colors
"-----------------------------------------------------------------------------
colorscheme evening
set background=dark     " use a dark background
syntax on               " syntax highlighting

"-----------------------------------------------------------------------------
" gui-only settings
"-----------------------------------------------------------------------------
if has("gui_running")
"  colo inkpot           " colorscheme, inkpot.vim
  set lines=35          " window tall and wide, only if gui_running,
  set columns=105       " or vim under console behaves badly
endif

"-----------------------------------------------------------------------------
" Vim UI
"-----------------------------------------------------------------------------
set linespace=1         " space it out a little more (easier to read)
set wildmenu            " type :h and press <Tab> to look what happens
set ruler               " always show current position along the bottom
set cmdheight=2         " use 2 screen lines for command-line
set lazyredraw          " do not redraw while executing macros (much faster)
set number              " don't print line number
set hid                 " allow to change buffer without saving
set backspace=2         " make backspace work normal
set whichwrap+=<,>,h,l  " allow backspace and cursor keys to wrap
set mouse=a             " use mouse in all modes
set shortmess=atI       " shorten messages to avoid 'press a key' prompt
set report=0            " tell us when anything is changed via :...
set fillchars=vert:\ ,stl:\ ,stlnc:\
                        " make the splitters between windows be blank

"-----------------------------------------------------------------------------
" visual cues
"-----------------------------------------------------------------------------
set showmatch           " show matching paren
set matchtime=5         " 1/10 second to show the matching paren
set hlsearch            " do not highlight searched for phrases
set incsearch           " BUT do highlight where the typed pattern matches
set scrolloff=3         " minimal number of screen lines to keep above/below the cursor
set novisualbell        " use visual bell instead of beeping
set noerrorbells        " do not make noise
set laststatus=2        " always show the status line
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$ " how :set list show
"set statusline=%{VimBuddy()}\ %F%m%r%h%w\ [%{&ff}]\ [%Y]\ [\%03.3b\ \%02.2B]\ [%02v\ %03l\ %L\ %p%%]
                        " need vimbuddy.vim, dislike it? just remove it

"-----------------------------------------------------------------------------
" text formatting/layout
"-----------------------------------------------------------------------------
set ai                  " autoindent
set si                  " smartindent
set cindent             " do C-style indenting
set fo=tcrqn            " see help (complex)
set tabstop=4           " tab spacing
set softtabstop=4       " unify it
set shiftwidth=4        " unify it
set noexpandtab         " real tabs please!
set smarttab            " use tabs at the start of a line, spaces elsewhere
set wrap                " do not wrap lines
set formatoptions+=mM   " thus vim can reformat multibyte text (e.g. Chinese)

" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif

"-----------------------------------------------------------------------------
" folding
"-----------------------------------------------------------------------------
set foldenable          " turn on folding
set foldmethod=indent   " make folding indent sensitive
set foldlevel=100       " don't autofold anything, but can still fold manually
set foldopen -=search   " don't open folds when you search into them
set foldopen -=undo     " don't open folds when you undo stuff

"set guifont=Monospace\ 13
set guifont=Liberation_Mono:h12:cANSI
"set guifont=Courier_New:h13:cANSI


posted on 2008-07-15 09:57  faraway  阅读(696)  评论(0编辑  收藏  举报