"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Maintainer: amix the lucky stiff
" http://amix.dk - amix@amix.dk
"
" Version: 3.6 - 25/08/10 14:40:30
"
" Blog_post:
"
http://amix.dk/blog/post/19486#The-ultimate-vim-configuration-vimrc
" Syntax_highlighted:
" http://amix.dk/vim/vimrc.html
" Raw_version:
" http://amix.dk/vim/vimrc.txt
"
" How_to_Install_on_Unix:
" $ mkdir ~/.vim_runtime
" $ svn co svn://orangoo.com/vim ~/.vim_runtime
" $ cat ~/.vim_runtime/install.sh
" $ sh ~/.vim_runtime/install.sh <system>
" <sytem> can be `mac`, `linux` or `windows`
"
" How_to_Upgrade:
" $ svn update ~/.vim_runtime
"
" Sections:
" -> General
" -> VIM user interface
" -> Colors and Fonts
" -> Files and backups
" -> Text, tab and indent related
" -> Visual mode related
" -> Command mode related
" -> Moving around, tabs and buffers
" -> Statusline
" -> Parenthesis/bracket expanding
" -> General Abbrevs
" -> Editing mappings
"
" -> Cope
" -> Minibuffer plugin
" -> Omni complete functions
" -> Python section
" -> JavaScript section
"
"
" Plugins_Included:
" > minibufexpl.vim -
http://www.vim.org/scripts/script.php?script_id=159
" Makes it easy to get an overview of buffers:
" info -> :e ~/.vim_runtime/plugin/minibufexpl.vim
"
" > bufexplorer -
http://www.vim.org/scripts/script.php?script_id=42
" Makes it easy to switch between buffers:
" info -> :help bufExplorer
"
" > yankring.vim -
http://www.vim.org/scripts/script.php?script_id=1234
" Emacs's killring, useful when using the clipboard:
" info -> :help yankring
"
" > surround.vim -
http://www.vim.org/scripts/script.php?script_id=1697
" Makes it easy to work with surrounding text:
" info -> :help surround
"
" > snipMate.vim -
http://www.vim.org/scripts/script.php?script_id=2540
" Snippets for many languages (similar to TextMate's):
" info -> :help snipMate
"
" > mru.vim -
http://www.vim.org/scripts/script.php?script_id=521
" Plugin to manage Most Recently Used (MRU) files:
" info -> :e ~/.vim_runtime/plugin/mru.vim
"
" > Command-T -
http://www.vim.org/scripts/script.php?script_id=3025
" Command-T plug-in provides an extremely fast, intuitive mechanism for opening filesa:
" info -> :help CommandT
" screencast and web-help ->
http://amix.dk/blog/post/19501
"
"
" Revisions:
" > 3.6: Added lots of stuff (colors, Command-T, Vim 7.3 persistent undo etc.)
" > 3.5: Paste mode is now shown in status line if you are in paste mode
" > 3.4: Added mru.vim
" > 3.3: Added syntax highlighting for Mako mako.vim
" > 3.2: Turned on python_highlight_all for better syntax
" highlighting for Python
" > 3.1: Added revisions ;) and bufexplorer.vim
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => General
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Sets how many lines of history VIM has to remember
set
history=700
" Enable filetype plugin
filetype
plugin on
filetype
indent on
" Set to auto read when a file is changed from the outside
set
autoread
" With a map leader it's possible to do extra key combinations
" like <leader>w saves the current file
let mapleader
= ","
let g:mapleader
= ","
" Fast saving
nmap
<leader>w :w!<cr>
"IS2120@CSDN ADD //z 2012-3-29 10:51:10 AM @TC,B
" Fast editing of the .vimrc
map
<leader>e :e! ~/.vim_runtime/vimrc<cr>
" When vimrc is edited, reload it
autocmd!
bufwritepost vimrc source ~/.vim_runtime/vimrc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => VIM user interface
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Set 7 lines to the curors - when moving vertical..
set
so=7
set
wildmenu "Turn on WiLd menu
set
ruler "Always show current position
set
cmdheight=2 "The commandbar height
set
hid "Change buffer - without saving
" Set backspace config
set
backspace=eol,start,indent
set
whichwrap+=<,>,h,l
set
ignorecase "Ignore case when searching
set
smartcase
set
hlsearch "Highlight search things
set
incsearch "Make search act like search in modern browsers
set
nolazyredraw "Don't redraw while executing macros
set
magic "Set magic on, for regular expressions
set
showmatch "Show matching bracets when text indicator is over them
set
mat=2 "How many tenths of a second to blink
" No sound on errors
set
noerrorbells
set
novisualbell
set
t_vb=
set
tm=500
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Colors and Fonts
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
syntax
enable "Enable syntax hl
function! MySys()
if
has("win32")
return
"win32"
elseif
has("unix")
return
"unix"
else
return
"mac"
endif
endfunction
" Set font according to system
if
MySys()
== "mac"
set
gfn=Menlo:h14
set
shell=/bin/bash
elseif
MySys()
== "win32"
"set gfn=Bitstream\ Vera\ Sans\ Mono:h10
set
gfn=YaHei_Consolas_Hybrid:h13
elseif
MySys()
== "linux"
set
gfn=Monospace\ 10
set
shell=/bin/bash
endif
if
has("gui_running")
"set guioptions-=m
set
guioptions-=T
"set guioptions-=l
"set guioptions-=L
"set guioptions-=r
"set guioptions-=R
set
t_Co=256
set
background=dark
colorscheme elflord
set
nonu
else
colorscheme zellner
set
background=dark
set
nonu
endif
"set encoding=prc
set
encoding=utf-8
try
lang en_US
catch
endtry
set
ffs=unix,dos,mac
"Default file types
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Files, backups and undo
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Turn backup off, since most stuff is in SVN, git anyway...
set
nobackup
set
nowb
set
noswapfile
"Persistent undo
try
if
MySys()
== "win32"
set
undodir=C:\Windows\Temp
else
set
undodir=~/.vim_runtime/undodir
endif
set
undofile
catch
endtry
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Text, tab and indent related
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set
expandtab
set
shiftwidth=4
set
tabstop=4
set
smarttab
set
lbr
set
tw=500
set
ai "Auto indent
set
si "Smart indet
set
wrap "Wrap lines
""""""""""""""""""""""""""""""
" => Visual mode related
""""""""""""""""""""""""""""""
" Really useful!
" In visual mode when you press * or # to search for the current selection
vnoremap
<silent> * :call VisualSearch('f')<CR>
vnoremap
<silent> # :call VisualSearch('b')<CR>
" When you press gv you vimgrep after the selected text
vnoremap
<silent> gv :call VisualSearch('gv')<CR>
map
<leader>g :vimgrep // **/*.<left><left><left><left><left><left><left>
function! CmdLine(str)
exe
"menu Foo.Bar :" .
a:str
emenu Foo.Bar
unmenu Foo
endfunction
" From an idea by Michael Naumann
function! VisualSearch(direction) range
let l:saved_reg
= @"
execute
"normal! vgvy"
let l:pattern
= escape(@",
'\\/.*$^~[]')
let l:pattern
= substitute(l:pattern,
"\n$", "",
"")
if
a:direction ==
'b'
execute
"normal ?" . l:pattern
. "^M"
elseif
a:direction ==
'gv'
call
CmdLine("vimgrep "
. '/'. l:pattern
. '/'
. ' **/*.')
elseif
a:direction ==
'f'
execute
"normal /" . l:pattern
. "^M"
endif
let @/
= l:pattern
let
@" = l:saved_reg
endfunction
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Command mode related
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Smart mappings on the command line
cno $h e ~/
cno $d e ~/Desktop/
cno $j e ./
cno $c e
<C-\>eCurrentFileDir("e")<cr>
" $q is super useful when browsing on the command line
cno $q
<C-\>eDeleteTillSlash()<cr>
" Bash like keys for the command line
cnoremap
<C-A>
<Home>
cnoremap
<C-E>
<End>
cnoremap
<C-K>
<C-U>
cnoremap
<C-P>
<Up>
cnoremap
<C-N>
<Down>
" Useful on some European keyboards
map ? $
imap ? $
vmap ? $
cmap ? $
func! Cwd()
let cwd
= getcwd()
return
"e " . cwd
endfunc
func! DeleteTillSlash()
let g:cmd
= getcmdline()
if
MySys()
== "linux"
|| MySys()
== "mac"
let g:cmd_edited
= substitute(g:cmd,
"\\(.*\[/\]\\).*",
"\\1",
"")
else
let g:cmd_edited
= substitute(g:cmd,
"\\(.*\[\\\\]\\).*",
"\\1",
"")
endif
if g:cmd
== g:cmd_edited
if
MySys()
== "linux"
|| MySys()
== "mac"
let g:cmd_edited
= substitute(g:cmd,
"\\(.*\[/\]\\).*/",
"\\1",
"")
else
let g:cmd_edited
= substitute(g:cmd,
"\\(.*\[\\\\\]\\).*\[\\\\\]",
"\\1",
"")
endif
endif
return g:cmd_edited
endfunc
func! CurrentFileDir(cmd)
return
a:cmd . " "
. expand("%:p:h")
. "/"
endfunc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Moving around, tabs and buffers
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Map space to / (search) and c-space to ? (backgwards search)
map
<space> /
map
<c-space> ?
map
<silent>
<leader><cr> :noh<cr>
" Smart way to move btw. windows
map
<C-j>
<C-W>j
map
<C-k>
<C-W>k
map
<C-h>
<C-W>h
map
<C-l>
<C-W>l
" Close the current buffer
map
<leader>bd :Bclose<cr>
" Close all the buffers
map
<leader>ba :1,300 bd!<cr>
" Use the arrows to something usefull
map
<right> :bn<cr>
map
<left> :bp<cr>
" Tab configuration
map
<leader>tn :tabnew<cr>
map
<leader>te :tabedit
map
<leader>tc :tabclose<cr>
map
<leader>tm :tabmove
" When pressing <leader>cd switch to the directory of the open buffer
map
<leader>cd :cd %:p:h<cr>
command! Bclose
call <SID>BufcloseCloseIt()
function!
<SID>BufcloseCloseIt()
let l:currentBufNum
= bufnr("%")
let l:alternateBufNum
= bufnr("#")
if
buflisted(l:alternateBufNum)
buffer #
else
bnext
endif
if
bufnr("%")
== l:currentBufNum
new
endif
if
buflisted(l:currentBufNum)
execute("bdelete! ".l:currentBufNum)
endif
endfunction
" Specify the behavior when switching between buffers
try
set
switchbuf=usetab
set
stal=2
catch
endtry
""""""""""""""""""""""""""""""
" => Statusline
""""""""""""""""""""""""""""""
" Always hide the statusline
set
laststatus=2
" Format the statusline
set
statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c
function! CurDir()
let curdir
= substitute(getcwd(),
'/Users/amir/', "~/",
"g")
return curdir
endfunction
function! HasPaste()
if &paste
return
'PASTE MODE '
else
return
''
endif
endfunction
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Parenthesis/bracket expanding
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
vnoremap $1
<esc>`>a)<esc>`<i(<esc>
vnoremap $2
<esc>`>a]<esc>`<i[<esc>
vnoremap $3
<esc>`>a}<esc>`<i{<esc>
vnoremap $$
<esc>`>a"<esc>`<i"<esc>
vnoremap $q
<esc>`>a'<esc>`<i'<esc>
vnoremap $e
<esc>`>a"<esc>`<i"<esc>
" Map auto complete of (, ", ', [
inoremap $1 ()<esc>i
inoremap $2 []<esc>i
inoremap $3 {}<esc>i
inoremap $4 {<esc>o}<esc>O
inoremap $q ''<esc>i
inoremap $e ""<esc>i
inoremap $t
<><esc>i
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => General Abbrevs
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
iab xdate
<c-r>=strftime("%d/%m/%y %H:%M:%S")<cr>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Editing mappings
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Remap VIM 0
map 0 ^
"Move a line of text using ALT+[jk] or Comamnd+[jk] on mac
nmap
<M-j> mz:m+<cr>`z
nmap
<M-k> mz:m-2<cr>`z
vmap
<M-j> :m'>+<cr>`<my`>mzgv`yo`z
vmap
<M-k> :m'<-2<cr>`>my`<mzgv`yo`z
if
MySys()
== "mac"
nmap
<D-j>
<M-j>
nmap
<D-k>
<M-k>
vmap
<D-j>
<M-j>
vmap
<D-k>
<M-k>
endif
"Delete trailing white space, useful for Python ;)
func! DeleteTrailingWS()
exe
"normal mz"
%s/\s\+$//ge
exe
"normal `z"
endfunc
autocmd
BufWrite *.py :call
DeleteTrailingWS()
set
guitablabel=%t
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Cope
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Do :help cope if you are unsure what cope is. It's super useful!
map
<leader>cc :botright cope<cr>
map
<leader>n :cn<cr>
map
<leader>p :cp<cr>
""""""""""""""""""""""""""""""
" => bufExplorer plugin
""""""""""""""""""""""""""""""
let g:bufExplorerDefaultHelp=0
let g:bufExplorerShowRelativePath=1
map
<leader>o :BufExplorer<cr>
""""""""""""""""""""""""""""""
" => Minibuffer plugin
""""""""""""""""""""""""""""""
let g:miniBufExplModSelTarget
= 1
let g:miniBufExplorerMoreThanOne
= 2
let g:miniBufExplModSelTarget
= 0
let g:miniBufExplUseSingleClick
= 1
let g:miniBufExplMapWindowNavVim
= 1
let g:miniBufExplVSplit
= 25
let g:miniBufExplSplitBelow=1
let g:bufExplorerSortBy
= "name"
autocmd
BufRead,BufNew :call UMiniBufExplorer
map
<leader>u :TMiniBufExplorer<cr>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Omni complete functions
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
autocmd
FileType css set
omnifunc=csscomplete#CompleteCSS
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Spell checking
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Pressing ,ss will toggle and untoggle spell checking
map
<leader>ss :setlocal spell!<cr>
"Shortcuts using <leader>
map
<leader>sn ]s
map
<leader>sp [s
map
<leader>sa zg
map
<leader>s? z=
""""""""""""""""""""""""""""""
" => Python section
""""""""""""""""""""""""""""""
let python_highlight_all
= 1
au
FileType python syn
keyword pythonDecorator True None False self
au
BufNewFile,BufRead *.jinja
set
syntax=htmljinja
au
BufNewFile,BufRead *.mako
set
ft=mako
au
FileType python inoremap
<buffer> $r return
au
FileType python inoremap
<buffer> $i import
au
FileType python inoremap
<buffer> $p print
au
FileType python inoremap
<buffer> $f #--- PH ----------------------------------------------<esc>FP2xi
au
FileType python map
<buffer>
<leader>1 /class
au
FileType python map
<buffer>
<leader>2 /def
au
FileType python map
<buffer>
<leader>C ?class
au
FileType python map
<buffer>
<leader>D ?def
""""""""""""""""""""""""""""""
" => JavaScript section
"""""""""""""""""""""""""""""""
au
FileType javascript call
JavaScriptFold()
au
FileType javascript setl
fen
au
FileType javascript setl
nocindent
au
FileType javascript imap
<c-t> AJS.log();<esc>hi
au
FileType javascript imap
<c-a> alert();<esc>hi
au
FileType javascript inoremap
<buffer> $r return
au
FileType javascript inoremap
<buffer> $f //--- PH ----------------------------------------------<esc>FP2xi
function! JavaScriptFold()
setl
foldmethod=syntax
setl
foldlevelstart=1
syn region foldBraces start=/{/ end=/}/ transparent
fold keepend extend
function! FoldText()
return
substitute(getline(v:foldstart),
'{.*', '{...}',
'')
endfunction
setl
foldtext=FoldText()
endfunction
""""""""""""""""""""""""""""""
" => MRU plugin
""""""""""""""""""""""""""""""
let MRU_Max_Entries
= 400
map
<leader>f :MRU<CR>
""""""""""""""""""""""""""""""
" => Command-T
""""""""""""""""""""""""""""""
let g:CommandTMaxHeight
= 15
set
wildignore+=*.o,*.obj,.git,*.pyc
noremap
<leader>j :CommandT<cr>
noremap
<leader>y :CommandTFlush<cr>
""""""""""""""""""""""""""""""
" => Vim grep
""""""""""""""""""""""""""""""
let Grep_Skip_Dirs
= 'RCS CVS SCCS .svn generated'
set
grepprg=/bin/grep\ -nH
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => MISC
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Remove the Windows ^M - when the encodings gets messed up
noremap
<Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
"Quickly open a buffer for scripbble
map
<leader>q :e ~/buffer<cr>
au
BufRead,BufNewFile ~/buffer
iab
<buffer> xh1 ===========================================
map
<leader>pp :setlocal paste!<cr>
map
<leader>bb :cd ..<cr>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Z
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let g:calendar_focus_today
= 1
let g:calendar_diary
= "D:\\mydoc\\doc\\Ediary"
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
"let Tlist_Ctags_Cmd = "/sw/bin/ctags-exuberant"
"let Tlist_Sort_Type = "name"
"let Tlist_Show_Menu = 1
"map <leader>t :Tlist<cr>
map
<F3> :Tlist<cr>
set
tags=tags;
set
autochdir
" turn off nice effect on status bar title
let performance_mode=1
"Get out of VI's compatible mode..
set
nocompatible
"Have the mouse enabled all the time:
if
exists("&mouse")
set
mouse=a
endif
set
fileencodings=ucs-bom,utf-8,cp936,gb2312,gbk,gb18030,chinese,big5,euc-jp,euc-kr,latin1
highlight menu
font=YaHei_Consolas_Hybrid
language messages en_US
set
langmenu=en_US
let
$LANG = 'en_US'
source
$VIMRUNTIME/delmenu.vim
source
$VIMRUNTIME/menu.vim
"if you use vim in tty,
"'uxterm -cjk' or putty with option 'Treat CJK ambiguous characters as wide' on
if
exists("&ambiwidth")
set
ambiwidth=double
endif
"Highlight current
if
has("gui_running")
if
exists("&cursorline")
set
cursorline
endif
endif
"Switch to current dir
map
<leader>cd :cd %:p:h<cr>
"Comment for C like language
if
has("autocmd")
au
BufNewFile,BufRead *.js,*.htc,*.c,*.tmpl,*.css
ino $c /**<cr> **/<esc>O
endif
"My information
ia xdate
<c-r>=strftime("%d/%m/%y %H:%M:%S")<cr>
"iab xname Amir Salihefendic
"Enable folding, I find it very useful
if
exists("&foldenable")
set
fen
endif
if
exists("&foldlevel")
set
fdl=0
endif
set
nofen
set
fdl=0
"set lbr
"set si
"set wrap
autocmd
FileType c,cpp,cs set
shiftwidth=4 | set
tabstop=4 |set expandtab
"au BufNewFile,BufRead *.todo so ~/vim_local/syntax/amido.vim
if
has("autocmd")
&& v:version>600
au
BufRead,BufNew *.vim
map
<buffer>
<leader><space> :w!<cr>:source
%<cr>
endif
" HTML entities - used by xml edit plugin
let xml_use_xhtml
= 1
"let xml_no_auto_nesting = 1
"To HTML
let html_use_css
= 0
let html_number_lines
= 0
let use_xhtml
= 1
set
autoindent
"set fileencodings=utf-8,gb2312,gbk,cp936
"set termencoding=utf-8
"set fileformats=dos,unix
"set language=chinese_china
"set encoding=prc
set
encoding=utf-8
set
fenc=utf-8
set
fencs=ucs-bom,utf-8,cp936,gb2312,gbk,gb18030,chinese,big5,euc-jp,euc-kr,latin1
"charset=utf-8
let g:html_use_css
= 0
let g:html_use_encoding
= "utf-8"
"let g:html_use_encoding = "gb2312"
let g:html_use_xhtml
= 0 "Use stylesheet instead of inline style
let g:html_no_pre
= 1 "don’t wrap lines in
let g:html_number_lines
= 0 "don’t show line numbers
let g:fencview_autodetect
= 1
set
guifont=YaHei_Consolas_Hybrid:h13
set
guifontwide=YaHei_Consolas_Hybrid:h13
"c# compiler
"auto save the file before compile
set
autowrite
set
makeprg=csc\ /nologo\ %
set
efm+=%A%f(%l\\,%c):%m
nnoremap
<silent>
<F5> :!start cmd /c "%:p:r:s,$,.exe," & pause<CR>
"最大化窗口
if
has("gui_running")
if
MySys()=="win32"
"start gvim maximized
if
has("autocmd")
au
GUIEnter * simalt ~x
endif
endif
endif
set
hls
syntax
on
set
showcmd
set
nomagic
"模仿MS Windows中的快捷键
vmap
<C-c> "yy
vmap
<C-x> "yd
nmap
<C-v> "yp
vmap
<C-v> "yp
nmap
<C-a> ggvG$
"状态行
set
laststatus=2
set
statusline=%<[%02n]\ %F%m%r%h%w\ [FE=%{&fileencoding}]\ [E=%{&enc}]\ [F=%{&ff}]\ [T=%Y]\ [P=%l/%L,%v][%p%%]\ [B=%{&bomb}]
"set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c
"set statusline=%<[%02n]\ %F%(\ %m%h%w%y%r%)\ %a%=\ %8l,%c%V/%L\ (%P)\ [%08O:%02B]
"set statusline=%1*%F%m%r%h%w%=%(%c%V\ %l/%L\ %P%) %{strftime(\"%y/%m/%d\-\%H:%M\")}\
"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
if
has("autocmd")
autocmd
FileType h,xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby
set
number
autocmd
FileType xml,html vmap
<C-o>
<ESC>'<i<!--<ESC>o<ESC>'>o-->
autocmd
FileType java,c,cpp,cs vmap
<C-o>
<ESC>'<o/*<ESC>'>o*/
autocmd
FileType html,text,php,vim,c,java,xml,bash,shell,perl,python
setlocal
textwidth=100
"autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
autocmd
BufReadPost *
\ if
line("'\"")
> 0
&& line("'\"")
<= line("$") |
\ exe
"normal g`\"" |
\ endif
endif " has("autocmd")