.vimrc:
" Modeline and Notes {
" vim: set foldmarker={,} foldlevel=0:
"
" Deployed by goto tool
" }
" Basics {
set nocompatible " explicitly get out of vi-compatible mode
filetype plugin indent on " load filetype plugins/indent settings
syntax on " syntax highlight on
set backspace=indent,eol,start " make backspace a more flexible
set clipboard+=unnamed " share window clipboard
set fileformats=unix,dos,mac " support all three, in this order
" Encodings {
set enc=utf-8 " Sets the character encoding used inside Vim.
set fenc=utf-8 " Sets the character encoding for the file.
set fencs=ucs-bom,utf-8,gb18030,gbk,gb2312,cp936
" }
" }
" Vim UI {
set number " turn on line number
set numberwidth=5 " we are good up to 99999 lines
set report=0 " tell us when anything is changed via :...
set ruler " always show current positions along the bottom
set showcmd " show the command being typed
set showmode " show editing mode
set showmatch " show matching brackets
set matchpairs+=<:>
set splitbelow " show split window below
set splitright
set completeopt=longest,menu " use a pop up menu for completions
colorscheme default
" Highlight {
set cursorline " highlight the current line
highlight cursorline cterm=bold
highlight linenr ctermfg=darkcyan
" }
" Search {
set hlsearch " highlight search result.
set incsearch " do search as you type your search phrase
set ignorecase smartcase " smart ignore case when searching.
" }
" Statusline {
set laststatus=2 " always show the status line
set statusline=
set statusline+=%-3.3n " buffer number
set statusline+=%t " filename
set statusline+=%h%m%r%w " status flags
set statusline+=[%{&ff}] " file format
set statusline+=[%{strlen(&ft)?&ft:'none'}] " file type
set statusline+=%= " right align remainder
set statusline+=0x%-8B " character value
set statusline+=%-14(%l,%c%V%) " line, character
set statusline+=%<%LL " file lines
" }
" }
" Text Formatting/Layout {
set textwidth=79
set completeopt=menu " use a pop up menu for completions
set wildmenu " turn on command line complete wild style
"set formatoptions=tcrql
" Indent {
set autoindent
set smartindent
set cindent " enable automatic C program indenting.
" }
" Tab {
set tabstop=4 " real tabs should be 4
set shiftwidth=4 " auto-indent amount
set expandtab " no real tabs please!
set smarttab
" }
" }
" User-defind {
" Abbreviations { " use <space> or <ctrl_]> to expand
" Typical keypress errors:
iabbr teh the
" Abbreviations for some words in common use
iabbr #c # coding=utf-8
iabbr #p #!/usr/ali/bin/python
iabbr #b #!/bin/bash
" }
" }
vimrc:
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=utf-8,latin1
endif
set nocompatible " Use Vim defaults (much better!)
set bs=indent,eol,start " allow backspacing over everything in insert mode
"set ai " always set autoindenting on
"set backup " keep a backup file
set viminfo='20,\"50 " read/write a .viminfo file, don't store more
" than 50 lines of registers
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
" Only do this part when compiled with support for autocommands
if has("autocmd")
augroup redhat
" In text files, always limit the width of text to 78 characters
autocmd BufRead *.txt set tw=78
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
augroup END
endif
if has("cscope") && filereadable("/usr/bin/cscope")
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
endif
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
if &term=="xterm"
set t_Co=8
set t_Sb=[4%dm
set t_Sf=[3%dm
endif
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set cindent
syntax on