- 浏览: 283611 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (234)
- php (70)
- linux (46)
- apache (9)
- mysql (13)
- oauth (1)
- IT新闻 (18)
- 代码收藏 (20)
- python (2)
- webservice (6)
- 评论 (7)
- asd (0)
- 开源软件 (6)
- 前端 (9)
- 7z (1)
- js (17)
- windows (4)
- cmd (2)
- 开源 (3)
- vim (6)
- windows 软件安装错误 (2)
- 分享 (3)
- search (1)
- node.js (1)
- xmind (1)
- 变成语言 (1)
- drupal (0)
- jquery (2)
- css (7)
- ietester (1)
- 编辑器 (1)
- java (2)
- html5 (1)
- 生活 (1)
- Sublime Text 2 (1)
- 制图 (0)
- sublime (1)
最新评论
-
muxueqz:
我自己写了个开源的:http://muxueqz.top/sk ...
Delicious被Yahoo卖了 -
yangyongnihao:
...
REST与SOAP样式Web 服务的区别 -
wangshaofei:
zhou7707 写道 大神啊,太及时了,我今天服务器上不了 ...
Debian 6 下搭建nginx 1.3 -
zhou7707:
大神啊,太及时了,我今天服务器上不了外网,为搞包依赖折腾一 ...
Debian 6 下搭建nginx 1.3 -
wangshaofei:
bbs_ld 写道一楼说的对啊。如何解决呢?? 高手大人
利用php创建日期选择框
转自: http://hi.baidu.com/kuangxiangjie/blog/item/f910ccb4b70819748ad4b23c.html
起因是有些初学者常常问到vim,gvim要怎么配置才可以成为一个正式的开发环境。貌似这些天很多人问道这个问题。我就把基本的配置发一下,最近比较忙。由于本人自己只是使用c/c++,ruby,Mozilla平台,所以其他语言或是开发平台倒是没有思考的很多
插件和独立程序
c.vim
valgrind.vim
taglist
MiniBufExplorer
Grep
omni-completion
SuperTab
Slippery Snippet ( Textmate-Like )
clewn(GDB整合)
colorschemes(上百中颜色配置)
ctags
rail.vim
常见插件下载地址
http://www.vim.org/index.php
http://slipperysnippets.blogspot.com/
http://clewn.sourceforge.net/index.html
-----------------------------------------------------------------------------------------
大家可以把,自己的vim配置分享出来,互相学习。
如果方便的话,最好直接把.vim文件夹打包一份。
想想放在哪儿好?回头看看我的主页方便不,可能要fanqiang
-----------------------------------------------------------------------------------------
标有颜色的表示不是必须的插件。
加了个查字典的功能,gui和cli时候分别调用不同的字典工具。
-----------------------------------------------------------------------------------------
有注释的我就不多说了
代码:
"2008年 09月 21日 星期日 01:11:28 CST
" 在处理未保存或只读文件的时候,弹出确认 set confirm " 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
"Tlist 和 wm的设置
"命令模式输入wm打开Tlist和WM
set showcmd
"Taglist插件的设置
let g:Tlist_Use_Right_Window=1
let g:Tlist_Show_One_File=1
let g:Tlist_Compact_Format=1
let Tlist_Exit_OnlyWindow=1
let g:winManagerWindowLayout='FileExplorer|TagList'
"Tree explorer的设置
let g:treeExplVertical=1
let g:treeExplWinSize=30
"gvim打开以后最大化
"au GUIEnter * simalt ~x
"光标在窗口上下边界时距离边界7行即开始滚屏
set so=7
"配色
" Avoid clearing hilight definition in plugins
if !exists("g:vimrc_loaded")
" color scheme
if has("gui_running")
set guioptions-=T "隐藏工具栏
set guioptions-=m
set guioptions-=L
set guioptions-=r
color blackboard
"colorscheme professional
"set guifont=YaHeiConsolasHybrid\ 13
set guifont=Monaco\ 13
"中文字体
set guifontset=Microsoft\ YaHei\ 13
"对于html,xml文件,通过ctrl+_来closetag
if has("autocmd")
autocmd FileType text,xml,html,perl,shell,bash,python,vim,php,ruby color blackboard
autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->
autocmd FileType java,c,cpp,cs color desertEx
autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100
autocmd Filetype html,xml,xsl source ~/.vim/plugin/closetag.vim
endif " has("autocmd")
else
color desert
"colorscheme zellner
"对于html,xml文件,通过ctrl+_来closetag
if has("autocmd")
autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<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 ~/.vim/plugin/closetag.vim
endif " has("autocmd")
endif " has
endif " exists(...)
"这个是依赖终端的
"set background=dark
"显示行号
set number
"语法高亮度显示
syntax on
"检测文件的类型 开启codesnip
filetype on
filetype plugin on
filetype indent on
set completeopt=longest,menu
set runtimepath+=~/.vim/textmateOnly
set runtimepath+=/home/hunch/.vim/after
so ~/.vim/plugin/supertab.vim
let g:SuperTabDefaultCompletionType="<C-X><C-O>"
"鼠标支持
if has('mouse')
set mouse=a
endif
"缩进相关
" 继承前一行的缩进方式,特别适用于多行注释
"set autoindent
" 为C程序提供自动缩进
"set smartindent
" 使用C样式的缩进
set cindent
function! GnuIndent()
setlocal cinoptions=>4,n-2,{2,^-2,:2,=2,g0,h2,p5,t0,+2,(0,u0,w1,m1
setlocal shiftwidth=2
setlocal tabstop=8
endfunction
au FileType c,cpp setlocal cinoptions=:0,g0,(0,w1 shiftwidth=4 tabstop=4 softtabstop=4
au FileType diff setlocal shiftwidth=4 tabstop=4
au FileType html setlocal autoindent indentexpr=
au FileType changelog setlocal textwidth=76
" Recognize standard C++ headers
au BufEnter /usr/include/c++/* setf cpp
au BufEnter /usr/include/g++-3/* setf cpp
" Setting for files following the GNU coding standard
au BufEnter /usr/* call GnuIndent()
function! RemoveTrailingSpace()
if $VIM_HATE_SPACE_ERRORS != '0' &&
\(&filetype == 'c' || &filetype == 'cpp' || &filetype == 'vim')
normal m`
silent! :%s/\s\+$//e
normal ``
endif
endfunction
" Remove trailing spaces for C/C++ and Vim files
au BufWritePre * call RemoveTrailingSpace()
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
"set shiftwidth=2
"set tabstop=4
"set softtabstop=4
"set expandtab
" ambiwidth 默认值为 single。在其值为 single 时,
" 若 encoding 为 utf-8,gvim 显示全角符号时就会
" 出问题,会当作半角显示。
set ambiwidth=double
set autoread " 自动重新加载外部修改内容
set autochdir " 自动切换当前目录为当前文件所在的目录
"No bell settings {{{
set noerrorbells
set visualbell
if has('autocmd')
autocmd GUIEnter * set vb t_vb=
endif
"No bell settings End }}}
"在编辑过程中,在右下角显示光标位置的状态行
set ruler
"set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
" 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
set nolinebreak " 在单词中间断行
" 在状态栏显示目前所执行的指令,未完成的指令片段亦
" 会显示出来
set showcmd
set wrap " 自动换行显示
"CmdLine settings {{{
set cmdheight=1 " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
"
" 高亮字符,让其不受100列限制
":highlight OverLength ctermbg=red ctermfg=white guibg=grey guifg=white
":match OverLength '\%101v.*'
" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White
"显示匹配括号
set showmatch
"默认无备份
set nobackup
set nowritebackup
"在insert模式下能用删除键进行删除
set backspace=indent,eol,start
"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
set nocp
" 增强模式中的命令行自动完成操作
set wildmenu
"文字编码加入utf8
" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
set enc=utf-8
let &termencoding=&encoding
" 使用英文菜单,工具条及消息提示
set langmenu=none
"自动缩排
set ai
"搜索不分大小写
set ic
"标识关键字
set hls
" 不要闪烁
set novisualbell
"设置语法折叠
set foldmethod=syntax
set foldcolumn=3 "设置折叠区域的宽度
set foldclose=all "设置为自动关闭折叠
" 用空格键来开关折叠
set foldenable
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
"设置帮助语言
if version >= 603
set helplang=cn
set encoding=utf-8
endif
"编辑状态保存
au BufWinLeave * mkview
au BufWinEnter * silent loadview
" Line highlight 設此標整行會標註顏色
set cursorline
" Column highlight 設此是遊標整列會標註顏色
set cursorcolumn
"highlight CursorLine cterm=none ctermbg=2 ctermfg=0
"ctags设置
set tags=/home/hunch/.vim/stltags
"set tags+=/home/hunch/.vim/sgitag
"set tags+=/home/hunch/.vim/ctags
"set tags+=/home/hunch/.vim/glibctag
"智能补全ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
let OmniCpp_DefaultNamespaces = ["std"]
let OmniCpp_GlobalScopeSearch = 1 " 0 or 1
let OmniCpp_NamespaceSearch = 1 " 0 , 1 or 2
let OmniCpp_DisplayMode = 1
let OmniCpp_ShowScopeInAbbr = 0
let OmniCpp_ShowPrototypeInAbbr = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_MayCompleteDot = 1
let OmniCpp_MayCompleteArrow = 1
let OmniCpp_MayCompleteScope = 1
highlight Pmenu ctermbg=13 guibg=LightGray
highlight PmenuSel ctermbg=7 guibg=DarkBlue guifg=White
highlight PmenuSbar ctermbg=7 guibg=DarkGray
highlight PmenuThumb guibg=Black
"打开自己工程的时候自动加载的脚本
if getfsize(".vimscript")>0
source .vimscript
endif
"rails.vim
runtime! macros/matchit.vim
augroup myfiletypes
" Clear old autocmds in group
autocmd!
" autoindent with two spaces, always expand tabs
autocmd FileType ruby,eruby,yaml set ai sw=2 sts=2 et
augroup END
"autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
"if you want buffer/rails/global completion you must add the following:
autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1
"if you want rails support add the following in addition
autocmd FileType ruby,eruby let g:rubycomplete_rails = 1
"if you want classes included in global completions add the following
autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1
"valgrind 相关
let g:valgrind_arguments='--leak-check=yes --num-callers=5000'
"字典完成
:set dictionary-=/usr/share/dict/words dictionary+=/usr/share/dict/words
"cscope
if has("cscope")
set csprg=/usr/bin/cscope
set csto=0
set nocst
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
map <C-_> :cstag <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
" Using 'CTRL-spacebar' then a search type makes the vim window
" split horizontally, with search result displayed in
" the new window.
nmap <C-Space>s :scs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space>g :scs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space>c :scs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space>t :scs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space>e :scs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space>f :scs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-Space>i :scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-Space>d :scs find d <C-R>=expand("<cword>")<CR><CR>
" Hitting CTRL-space *twice* before the search type does a vertical
" split instead of a horizontal one
nmap <C-Space><C-Space>s
\:vert scs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space><C-Space>g
\:vert scs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space><C-Space>c
\:vert scs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space><C-Space>t
\:vert scs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space><C-Space>e
\:vert scs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space><C-Space>i
\:vert scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-Space><C-Space>d
\:vert scs find d <C-R>=expand("<cword>")<CR><CR>
"runtime ftplugin/man.vim
let Vimplate = "$HOME/bin/vimplate"
fun! ReadMan()
" Assign current word under cursor to a script variable:
let s:man_word = expand('<cword>')
" Open a new window:
:exe ":wincmd n"
" Read in the manpage for man_word (col -b is for formatting):
:exe ":r!man " . s:man_word . " | col -b"
" Goto first line...
:exe ":goto"
" and delete it:
:exe ":delete"
endfun
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"加上日期 对应F2
:map <F2> gg:read !date<CR>
" bind :CD to :cd %:h, then change cwd to the dir that includes current file
sil! com -nargs=0 CD exe 'cd %:h'
" F5编译和运行C程序,F6编译和运行C++程序
" 请注意,下述代码在windows下使用会报错
" 需要去掉./这两个字符
" C的编译和运行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!gcc -Wall -g % -o %<"
exec "! ./%<"
endfunc
" C++的编译和运行
map <F6> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ -Wall -g % -o %<"
exec "! ./%<"
endfunc
" 能够漂亮地显示.NFO文件
set encoding=utf-8
function! SetFileEncodings(encodings)
let b:myfileencodingsbak=&fileencodings
let &fileencodings=a:encodings
endfunction
function! RestoreFileEncodings()
let &fileencodings=b:myfileencodingsbak
unlet b:myfileencodingsbak
endfunction
au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
au BufReadPost *.nfo call RestoreFileEncodings()
" 高亮显示普通txt文件(需要txt.vim脚本)
"au BufRead,BufNewFile * setfiletype txt
" Map the M key to the ReadMan function:
map M :call ReadMan()<CR>
"csupport
let g:alternateNoDefaultAlternate = 1
"a.vim
nnoremap <silent> <F12> :A<CR>
nmap wm :WMToggle<cr>
" 双反斜杠\\即可打开bufexplorer
map <leader><leader> \be
" Ctrl+Enter也可以切换buffer
map C-Enter C-Tab
nnoremap <silent> <F4> :tabprevious<CR>
:set cscopequickfix=s-,c-,d-,i-,t-,e-
nnoremap <silent> <F3> :Grep<CR>
":inoremap ( ()<ESC>i
":inoremap ) <c-r>=ClosePair(')')<CR>
":inoremap { {}<ESC>i
":inoremap } <c-r>=ClosePair('}')<CR>
":inoremap [ []<ESC>i
":inoremap ] <c-r>=ClosePair(']')<CR>
":inoremap < <><ESC>i
":inoremap > <c-r>=ClosePair('>')<CR>
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
" mapping
" 如果下拉菜单弹出,回车映射为接受当前所选项目,否则,仍映射为回车;
"
" 如果下拉菜单弹出,CTRL-J映射为在下拉菜单中向下翻页。否则映射为CTRL-X CTRL-O;
"
" 如果下拉菜单弹出,CTRL-K映射为在下拉菜单中向上翻页,否则仍映射为CTRL-K;
"
" 如果下拉菜单弹出,CTRL-U映射为CTRL-E,即停止补全,否则,仍映射为CTRL-U;
inoremap <expr> <CR> pumvisible()?"\<C-Y>":"\<CR>"
inoremap <expr> <C-J> pumvisible()?"\<PageDown>\<C-N>\<C-P>":"\<C-X><C-O>"
inoremap <expr> <C-K> pumvisible()?"\<PageUp>\<C-P>\<C-N>":"\<C-K>"
inoremap <expr> <C-U> pumvisible()?"\<C-E>":"\<C-U>"a
inoremap <expr> <cr> pumvisible() ? "\<c-y>" : "\<c-g>u\<cr>"
inoremap <expr> <c-n> pumvisible() ? "\<c-n>" : "\<c-n>\<c-r>=pumvisible() ? \"\\<down>\" : \"\\<cr>\""
inoremap <expr> <m-;> pumvisible() ? "\<c-n>" : "\<c-x>\<c-o>\<c-n>\<c-p>\<c-r>=pumvisible() ? \"\\<down>\" : \"\\<cr>\""
" minibufexpl插件的一般设置
"let g:miniBufExplMapWindowNavArrows = 1
"let g:miniBufExplModSelTarget = 1
"实现<C-Tab> 向前循环切换到每个buffer上,并在当前窗口打开
"let g:miniBufExplMapCTabSwitchBufs = 1
"<C-S-Tab> 向后循环切换到每个buffer上,并在当前窗口打开
"可以用<C-h,j,k,l>切换到上下左右的窗口中去
"let g:miniBufExplMapWindowNavVim = 1
"选中一段文字并全文搜索这段文字
:vnoremap <silent> ,/ y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR>
:vnoremap <silent> ,? y?<C-R>=escape(@", '\\/.*$^~[]')<CR><CR>
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
:runtime! ftplugin/man.vim
set keywordprg=dicty
ab ssh #!/bin/bash<CR><CR>
ab ppy #!/usr/bin/python<CR><CR>
ab ppl #!/usr/bin/perl<CR><CR><{}>
ab rru #!/usr/bin/ruby<CR><CR><{}>
http://forum.ubuntu.org.cn/viewtopic.php?f=68&t=138212
-----------------------------------------------------------------------
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
"设定搜索是的高亮显示
set hlsearch
" 不要使用vi的键盘模式,而是vim自己的
set nocompatible
" history文件中需要记录的行数
set history=100
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 与windows共享剪贴板
set clipboard+=unnamed
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 语法高亮
syntax on
" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
":match OverLength '\%101v.*'
" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White
"高亮当前行
set cursorline
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要备份文件(根据自己需要取舍)
set nobackup
" 不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide
" 字符间插入的像素行数目
set linespace=0
" 增强模式中的命令行自动完成操作
set wildmenu
" 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2
" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
" 不让vim发出讨厌的滴滴声
set noerrorbells
" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮显示匹配的括号
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=5
" 在搜索的时候不忽略大小写
set noignorecase
" 不要高亮被搜索的句子(phrases)
"set nohlsearch
" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch
" 输入:set list命令是应该显示些啥?
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$
" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
" 不要闪烁
set novisualbell
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
" 总是显示状态行
set laststatus=2
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 自动格式化
set formatoptions=tcrqn
" 继承前一行的缩进方式,特别适用于多行注释
set autoindent
" 为C程序提供自动缩进
set smartindent
" 使用C样式的缩进
set cindent
" 制表符为4
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
set noexpandtab
" 不要换行
"set nowrap
"设置每行80个字符自动换行
set textwidth=80
" 在行和段开始处使用制表符
set smarttab
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按照名称排序
let Tlist_Sort_Type = "name"
" 在右侧显示窗口
let Tlist_Use_Right_Window = 1
" 压缩方式
let Tlist_Compart_Format = 1
" 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = 1
" 不要关闭其他文件的tags
let Tlist_File_Fold_Auto_Close = 0
" 不要显示折叠树
let Tlist_Enable_Fold_Column = 1
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
if has("autocmd")
autocmd FileType 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=80
autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
endif " has("autocmd")
" C/C++的编译和运行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!make"
exec "! ./%<"
endfunc
" shell script运行
map <F6> :call CompileRunSH()<CR>
func! CompileRunSH()
exec "w"
exec "!chmod a+x %"
exec "!./%"
endfunc
" python运行
map <F7> :call CompileRunPyhton()<CR>
func! CompileRunPyhton()
exec "w"
exec "!chmod a+x %"
exec "!./%"
endfunc
" 能够漂亮地显示.NFO文件
set encoding=utf-8
function! SetFileEncodings(encodings)
let b:myfileencodingsbak=&fileencodings
let &fileencodings=a:encodings
endfunction
function! RestoreFileEncodings()
let &fileencodings=b:myfileencodingsbak
unlet b:myfileencodingsbak
endfunction
au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
au BufReadPost *.nfo call RestoreFileEncodings()
" 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile * setfiletype txt
" 用空格键来开关折叠
set foldenable
set foldlevel=0
set foldmethod=indent
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
http://forum.ubuntu.org.cn/viewtopic.php?f=68&t=153018
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/powersaven/archive/2008/12/03/3430842.aspx
发表评论
-
使ie支持html5
2013-03-18 17:41 927<!--[if IE]> < ... -
js防止冒泡事件
2012-07-10 18:20 795var e = (event) ? event : wi ... -
商品放大镜代码
2012-07-10 17:39 747<!DOCTYPE html PUBLIC &qu ... -
jquery-tree树型插件
2012-05-18 15:40 786jquery-tree树型插件 -
javaEE学习笔记
2012-05-14 22:00 9301.错误描述 增量部署 http://localhos ... -
添加和删除页面元素
2011-10-27 13:07 751function Button1_onclick( ... -
javascript正则表达式
2011-09-06 16:09 764js正则表达式是很多js开发人员比较头疼的事情,也很多人不愿意 ... -
js(javascript)事件大全:事件、页面事件、表单事件、滚动字幕事件、编辑事件、数据绑定、外部事件
2011-08-18 17:29 1322javascript 一般事 ... -
JavaScript实现 页面滚动图片加载
2011-08-18 17:18 958现在的页面大多都具有的特点 - 内容丰富,图片较多;像我们 ... -
jQuery - Selectors - lastChild选择最后一个子元素
2011-08-18 14:47 2347Selectors/lastChild From ... -
javascript代码,定时
2011-08-18 14:25 669//将长的列补到短的列 ... -
(转)php抓取网页内容汇总
2011-07-22 10:09 4865①、使用php 获取网页 内容 http ... -
SQL Server 2000安装图解
2011-07-11 16:37 17572007-12-22 16:32 ... -
javascript验证e-mail
2011-06-01 15:16 960<html> <head> ... -
javascript实现cookie
2011-06-01 15:04 691<html> <head> ... -
html标签
2011-05-30 23:44 0style格式属性: <body style=&quo ... -
利用php创建日期选择框
2011-05-30 00:50 3404<form action="" me ... -
js验证表单大全
2011-05-23 11:55 745//js验证表单大全 //1. 长度限制 //<sc ... -
xml 转换成 array
2011-05-19 14:56 1046xmltoarray 写道 <?php /* * ... -
php_login_cookie
2011-03-20 15:06 1092<?php if ($_GET[out]) ...
相关推荐
vim 插件 全集有a.vim grep.vim mark.vim minibufexpl.vim taglist.vim vimcdoc.vim visualmark.vim winfileexplorer.vim winmanager.vim wintagexplorer.vim
在本文中,我们将深入探讨如何配置Vim,特别是关于字符编码的设置,以确保在处理不同编码的文件时避免乱码问题。 首先,我们要关注`encoding`设置。`encoding`决定了Vim内部使用的字符编码方式,包括缓冲区、菜单...
4. `vim-common_8.2.1913-1ubuntu3_all.deb` 和 `vim-common_8.0.1453-1ubuntu1.4_all.deb`:包含了Vim的一些通用组件,适用于所有架构。 离线安装步骤如下: 1. 将所有.deb文件下载到你的Ubuntu机器上,或者通过...
- Vim的配置文件`~/.vimrc`允许用户自定义快捷键、设置和行为,实现个性化定制。 对于运维人员而言,Vim是必备的工具之一,因为它轻量级、快速且功能强大。离线资源包的提供使得在没有网络环境的情况下也能保证工作...
- 在Vim的`.vimrc`配置文件中,添加dbgp插件的相关设置,如`let g:dbgp_server = 'localhost'`和`let g:dbgp_port = 9000`,对应Xdebug的设置。 - 学习并熟悉dbgp插件提供的快捷键和命令,例如设置断点、启动/停止...
1. **vim-common-6.3-1.aix5.1.ppc.rpm**:这是Vim的通用组件,包含了一些基本的配置和共享库,所有Vim版本都需要这个组件。 2. **vim-X11-6.3-1.aix5.1.ppc.rpm**:这个文件提供了Vim与X Window System(X11)的...
4. **保存并重启Vim**:保存文件后重新启动Vim,以确保新的设置生效。 ##### 在_vimrc中禁用mswin.vim 1. **查找_vimrc文件**:该文件可能位于用户的主目录下。 2. **打开并编辑_vimrc**:如果文件不存在,可以...
通过学习Vim的基本命令,用户可以将Vim作为一个通用的万能编辑器来使用。Vim的官方标准文档提供了一套系统的教程,旨在帮助用户逐步掌握Vim的核心操作技能。 在Vim中,光标的移动是编辑文本的基础操作之一。用户...
- 编辑`.bashrc`文件,添加`alias vim=mvim`,保存后在终端中运行`source .bashrc`使设置生效。 - 配置`~/.vimrc`和`~/.gvimrc`文件: ```shell :e $VIMRUNTIME/vimrc_example.vim :saveas ~/.vimrc :e $...
Vimrc是Vim的初始化脚本,它允许用户自定义各种设置,如快捷键、颜色方案、自动缩进、插件配置等。通过精心调整vimrc,用户可以将Vim打造成为一个高效的全功能编辑环境。下面我们将深入探讨vimrc中的可能配置和相关...
该配置文件包含了设置行号、Tab缩进大小等基本配置,并且还有为新创建的C文件、C++文件、H头文件、python文件、sh文件自动添加文件头的功能,包括主函数、文件信息等通用内容。使用方法是直接把该文件拷贝到你的...
vim for windows 32位 64位通用
- **mobi**和**epub**格式的书籍:这两种格式是电子书的常见标准,mobi适用于Kindle设备或应用程序,epub则更通用,可以在多种阅读器和设备上使用。无论你使用哪种阅读工具,都能方便地查阅这本书。 Vim的学习曲线...
4. **配置**:VsVim默认会模仿Vim的行为,但你可以根据个人喜好在Visual Studio的“工具”>“选项”>“VsVim”中进行个性化设置,如修改快捷键、启用/禁用特定功能等。 使用VsVim时,开发者可以享受到以下Vim的特性...
在配置完成后,当你在 Vim 中编写 Java 代码时,只需键入部分类名或方法名,然后按下补全键(通常为 `<C-x><C-o>` 或插件设置的其他键),Vim 就会显示可用的补全选项。此外,这些插件还可以通过分析当前项目或工作...
系统级配置文件通常包含默认的设置,这些设置对所有用户都是通用的。在Linux环境下,该文件可能位于`/usr/share/vim/vimrc`或`/etc/vim/vimrc`中。这些文件包含了Vim的基本设置和一些常见的选项。 4. **用户配置...
1. **基本设置**:这涉及通用的编辑器选项,例如设置行号显示(`set number`),启用自动缩进(`set autoindent`),以及禁用启动时的欢迎消息(`set nocursorline`)。 2. **颜色方案**:你可以选择或编写颜色方案来改变...
visualmark插件为Vim提供了可视化标记功能,允许用户在多个位置设置标记,并通过简单的命令在这些标记间跳转。这对于在长文件中快速导航或比较不同位置的代码非常有用。安装该插件同样需要将其放入Vim的插件目录,...
4. **通用编程辅助**: - `vim-airline`:状态栏增强,显示当前模式、编码、行数等信息。 - `vim-surround`:方便地添加、删除或修改括号、引号等包围结构。 - `auto-pairs`:自动完成括号和引号,避免手动输入。...
vlime, 用于 Vim ( 和 Neovim )的通用Lisp开发环境 介绍Vlime是用于 Vim ( 还有 Neovim )的通用Lisp开发环境,类似于SLIME和SLIMV的。它提供了REPL集成,以及omni完成。交叉参考工具。调试器支持。调试器支持,以及...