配置说明
分类:微服架构

" 不要使用vi的键盘模式,而是vim自己的

无论在Linux下,还是win下,修改vim配置文件尽量修改自己用户主目录下的.vimrc(在win中是_vimrc)
在Ubuntu下使用sudo apt-get install vim-full将vim更新成完整版
第二步,在当前用户的主目录下新建文件.vimrc,内容如下:

Vim 配置说明

vim 是公认很好用很完美,但是对新手来说,上手毕竟不是很容易。Windows下程序员很多都很喜欢 Source Insight 这个工具来看代码,各种语法高亮看着很舒服。vim 作为为程序员打造的编辑器,没有道理不可以通过配置让程序员舒服地编辑代码,但是新手通常很难将其配置成顺手顺眼的环境。

用户只需修改家目录下的 .vimrc 配置文件内容,即可自定义 vim 的功能。

图片 1

可以把 ~/.vimrc 里面的内容替换为如下内容,或者,根据需要直接在上面根据需要自行修改( " 后面的内容为注释内容):

""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 显示相关 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"set shortmess=atI  " 启动的时候不显示那个援助乌干达儿童的提示 

"winpos 5 5          " 设定窗口位置 

"set lines=40 columns=155    " 设定窗口大小 

"set nu              " 显示行号 

set go=            " 不要图形按钮 

"color asmanian2    " 设置背景主题 

set guifont=Courier_New:h10:cANSI  " 设置字体 

"syntax on          " 语法高亮 

autocmd InsertLeave * se nocul  " 用浅色高亮当前行 

autocmd InsertEnter * se cul    " 用浅色高亮当前行 

"set ruler          " 显示标尺 

set showcmd        " 输入的命令显示出来,看的清楚些 

"set cmdheight=1    " 命令行(在状态行下)的高度,设置为1 

"set whichwrap+=<,>,h,l  " 允许backspace和光标键跨越行边界(不建议) 

"set scrolloff=3    " 光标移动到buffer的顶部和底部时保持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=1    " 启动显示状态行(1),总是显示状态行(2) 

set foldenable      " 允许折叠 

set foldmethod=manual  " 手动折叠 

"set background=dark "背景使用黑色

set nocompatible  "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 

" 显示中文帮助

if version >= 603

    set helplang=cn

    set encoding=utf-8

endif

" 设置配色方案

"colorscheme murphy

"字体

"if (has("gui_running"))

"  set guifont=Bitstream Vera Sans Mono 10

"endif

set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

set termencoding=utf-8

set encoding=utf-8

set fileencodings=ucs-bom,utf-8,cp936

set fileencoding=utf-8

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"新文件标题
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"新建.c,.h,.sh,.java文件,自动插入文件头

autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"

""定义函数SetTitle,自动插入文件头

func SetTitle()

    "如果文件类型为.sh文件

    if &filetype == 'sh'

        call setline(1,"#########################################################################")

        call append(line("."), "# File Name: ".expand("%"))

        call append(line(".")+1, "# Author: ma6174")

        call append(line(".")+2, "# mail: [email protected]")

        call append(line(".")+3, "# Created Time: ".strftime("%c"))

        call append(line(".")+4, "#########################################################################")

        call append(line(".")+5, "#!/bin/bash")

        call append(line(".")+6, "")

    else

        call setline(1, "/*************************************************************************")

        call append(line("."), "    > File Name: ".expand("%"))

        call append(line(".")+1, "    > Author: ma6174")

        call append(line(".")+2, "    > Mail: [email protected] ")

        call append(line(".")+3, "    > Created Time: ".strftime("%c"))

        call append(line(".")+4, " ************************************************************************/")

        call append(line(".")+5, "")

    endif

    if &filetype == 'cpp'

        call append(line(".")+6, "#include<iostream>")

        call append(line(".")+7, "using namespace std;")

        call append(line(".")+8, "")

    endif

    if &filetype == 'c'

        call append(line(".")+6, "#include<stdio.h>")

        call append(line(".")+7, "")

    endif

    "新建文件后,自动定位到文件末尾

    autocmd BufNewFile * normal G

endfunc

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"键盘命令
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

nmap <leader>w :w!<cr>

nmap <leader>f :find<cr>

" 映射全选+复制 ctrl+a

map <C-A> ggVGY

map! <C-A> <Esc>ggVGY

map <F12> gg=G

" 选中状态下 Ctrl+c 复制

vmap <C-c> "+y

"去空行 

nnoremap <F2> :g/^s*$/d<CR>

"比较文件 

nnoremap <C-F2> :vert diffsplit

"新建标签 

map <M-F2> :tabnew<CR> 

"列出当前目录文件 

map <F3> :tabnew .<CR> 

"打开树状文件目录 

map <C-F3> be 

"C,C++ 按F5编译运行

map <F5> :call CompileRunGcc()<CR>

func! CompileRunGcc()

    exec "w"

    if &filetype == 'c'

        exec "!g++ % -o %<"

        exec "! ./%<"

    elseif &filetype == 'cpp'

        exec "!g++ % -o %<"

        exec "! ./%<"

    elseif &filetype == 'java'

        exec "!javac %"

        exec "!java %<"

    elseif &filetype == 'sh'

        :!./%

    endif

endfunc

"C,C++的调试

map <F8> :call Rungdb()<CR>

func! Rungdb()

    exec "w"

    exec "!g++ % -g -o %<"

    exec "!gdb ./%<"

endfunc

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""实用设置
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" 设置当文件被改动时自动载入

set autoread

" quickfix模式

autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>

"代码补全

set completeopt=preview,menu

"允许插件 

filetype plugin on

"共享剪贴板 

set clipboard+=unnamed

"从不备份 

set nobackup

"make 运行

:set makeprg=g++ -Wall %

"自动保存

set autowrite

set ruler                  " 打开状态栏标尺

set cursorline              " 突出显示当前行

set magic                  " 设置魔术

set guioptions-=T          " 隐藏工具栏

set guioptions-=m          " 隐藏菜单栏

"set statusline= %<%F[%1*%M%*%n%R%H]%= %y %0(%{&fileformat} %{&encoding} %c:%l/%L%)

" 设置在状态行显示的信息

set foldcolumn=0

set foldmethod=indent

set foldlevel=3

set foldenable              " 开始折叠

" 不要使用vi的键盘模式,而是vim自己的

set nocompatible

" 语法高亮

set syntax=on

" 去掉输入错误的提示声音

set noeb

" 在处理未保存或只读文件的时候,弹出确认

set confirm

" 自动缩进

set autoindent

set cindent

" Tab键的宽度

set tabstop=4

" 统一缩进为4

set softtabstop=4

set shiftwidth=4

" 不要用空格代替制表符

set noexpandtab

" 在行和段开始处使用制表符

set smarttab

" 显示行号

set number

" 历史记录数

set history=1000

"禁止生成临时文件

set nobackup

set noswapfile

"搜索忽略大小写

set ignorecase

"搜索逐字符高亮

set hlsearch

set incsearch

"行内替换

set gdefault

"编码设置

set enc=utf-8

set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

"语言设置

set langmenu=zh_CN.UTF-8

set helplang=cn

" 我的状态行显示的内容(包括文件类型和解码)

"set statusline=%F%m%r%h%w [FORMAT=%{&ff}] [TYPE=%Y] [POS=%l,%v][%p%%] %{strftime("%d/%m/%y - %H:%M")}

"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]

" 总是显示状态行

set laststatus=2

" 命令行(在状态行下)的高度,默认为1,这里是2

set cmdheight=2

" 侦测文件类型

filetype on

" 载入文件类型插件

filetype plugin on

" 为特定文件类型载入相关缩进文件

filetype indent on

" 保存全局变量

set viminfo+=!

" 带有如下符号的单词不要被换行分割

set iskeyword+=_,$,@,%,#,-

" 字符间插入的像素行数目

set linespace=0

" 增强模式中的命令行自动完成操作

set wildmenu

" 使回格键(backspace)正常处理indent, eol, start等

set backspace=2

" 允许backspace和光标键跨越行边界

set whichwrap+=<,>,h,l

" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)

set mouse=a

set selection=exclusive

set selectmode=mouse,key

" 通过使用: commands命令,告诉我们文件的哪一行被改变过

set report=0

" 在被分割的窗口间显示空白,便于阅读

set fillchars=vert: ,stl: ,stlnc:

" 高亮显示匹配的括号

set showmatch

" 匹配括号高亮的时间(单位是十分之一秒)

set matchtime=1

" 光标移动到buffer的顶部和底部时保持3行距离

set scrolloff=3

" 为C程序提供自动缩进

set smartindent

" 高亮显示普通txt文件(需要txt.vim脚本)

au BufRead,BufNewFile *  setfiletype txt

"自动补全

:inoremap ( ()<ESC>i

:inoremap ) <c-r>=ClosePair(')')<CR>

:inoremap { {<CR>}<ESC>O

:inoremap } <c-r>=ClosePair('}')<CR>

:inoremap [ []<ESC>i

:inoremap ] <c-r>=ClosePair(']')<CR>

:inoremap " ""<ESC>i

:inoremap ' ''<ESC>i

function! ClosePair(char)

    if getline('.')[col('.') - 1] == a:char

        return "<Right>"

    else

        return a:char

    endif

endfunction

filetype plugin indent on

"打开文件类型检测, 加了这句才可以用智能补全

set completeopt=longest,menu

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

let Tlist_Sort_Type = "name"    " 按照名称排序 

let Tlist_Use_Right_Window = 1  " 在右侧显示窗口 

let Tlist_Compart_Format = 1    " 压缩方式 

let Tlist_Exist_OnlyWindow = 1  " 如果只有一个buffer,kill窗口也kill掉buffer 

let Tlist_File_Fold_Auto_Close = 0  " 不要关闭其他文件的tags 

let Tlist_Enable_Fold_Column = 0    " 不要显示折叠树 

autocmd FileType java set tags+=D:toolsjavatags 

"autocmd FileType h,cpp,cc,c set tags+=D:toolscpptags 

"let Tlist_Show_One_File=1            "不同时显示多个文件的tag,只显示当前文件的

"设置tags 

set tags=tags 

"set autochdir

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"其他东东
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"默认打开Taglist

let Tlist_Auto_Open=1

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Tag list (ctags)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

let Tlist_Ctags_Cmd = '/usr/bin/ctags'

let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的

let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim

let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口

" minibufexpl插件的一般设置

let g:miniBufExplMapWindowNavVim = 1

let g:miniBufExplMapWindowNavArrows = 1

let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1

vim 配置主要有以下特点:

1、按 F5 可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试

2、自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改

3、映射“Ctrl + A”为全选并复制快捷键,方便复制代码

4、按“F2”可以直接消除代码中的空行

5、“F3”可列出当前目录文件,打开树状文件目录

6、支持鼠标选择、方向键移动

7、代码高亮,自动缩进,显示行号,显示状态行

8、按“Ctrl + P”可自动补全

9、[]、{}、()、""、' '等都自动补全

10、其他功能读者可以研究以下文件

set nocompatible

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

--------------------------------------分割线

把VIM打造成一个简单实用的IDE

Vim学习指南

快速学会 Vi编辑器

强大的Vim 编辑器

在CentOS 6.2上搭建Vim开发环境

CentOS 5.4 安装高亮Vim编辑工具

Vim技巧分享:C语言设置

Ubuntu中设置Vim的行号

Vim编辑器使用基础教程

" 语法高亮

" 不要使用vi的键盘模式,而是vim自己的
set nocompatible

--------------------------------------分割线

本文永久更新链接地址:

配置说明 vim 是公认很好用很完美,但是对新手来说,上手毕竟不是很容易。Windows下程序员很多都很喜欢 Source Insight 这个工具来看代码...

syntax on 

" history文件中需要记录的行数
set history=100

" 去掉输入错误的提示声音

" 在处理未保存或只读文件的时候,弹出确认
set confirm

set noeb

" 与windows共享剪贴板
set clipboard+=unnamed

" 在处理未保存或只读文件的时候,弹出确认

" 侦测文件类型
filetype on

set confirm

" 载入文件类型插件
filetype plugin on

" 自动缩进

" 为特定文件类型载入相关缩进文件
filetype indent on

set autoindent

" 保存全局变量
set viminfo+=!

set cindent

" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-

" Tab键的宽度

" 语法高亮
syntax on

set tabstop=4

" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength '%101v.*'

" 统一缩进为4

" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White

set softtabstop=4

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要备份文件(根据自己需要取舍)
set nobackup

set shiftwidth=4

" 不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide

" 不要用空格代替制表符

" 字符间插入的像素行数目
set linespace=0

set noexpandtab

" 增强模式中的命令行自动完成操作
set wildmenu

" 在行和段开始处使用制表符

" 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%20(%2*%<%f%= %m%r %3l %c %p%%%)

set smarttab

" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2

" 显示行号

" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2

set number

" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l

" 历史记录数

" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key

set history=1000

" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0

"禁止生成临时文件

" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert: ,stl: ,stlnc:

set nobackup

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮显示匹配的括号
set showmatch

set noswapfile

" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=5

"搜索忽略大小写

" 在搜索的时候忽略大小写
set ignorecase

set ignorecase

" 不要高亮被搜索的句子(phrases)
set nohlsearch

"搜索逐字符高亮

" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch

set hlsearch

" 输入:set list命令是应该显示些啥?
set listchars=tab:| ,trail:.,extends:>,precedes:<,eol

set incsearch

" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3

"行内替换

" 不要闪烁
set novisualbell

set gdefault

" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w[POS=%l,%v][%p%%]%{strftime("%d/%m/%y - %H:%M")}

"编码设置

" 总是显示状态行
set laststatus=2

set enc=utf-8

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 自动格式化
set formatoptions=tcrqn

set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

" 继承前一行的缩进方式,特别适用于多行注释
set autoindent

"语言设置

" 为C程序提供自动缩进
set smartindent

set langmenu=zh_CN.UTF-8

" 使用C样式的缩进
"set cindent

set helplang=cn

" 制表符为4统一缩进为4
set tabstop=4
set softtabstop=4
set shiftwidth=4

" 我的状态行显示的内容(包括文件类型和解码)

" 用空格代替制表符
set expandtab

set statusline=%F%m%r%h%w [FORMAT=%{&ff}] [TYPE=%Y] [POS=%l,%v][%p%%] %{strftime("%d/%m/%y - %H:%M")}

" 不要换行
set nowrap

"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按照名称排序
let Tlist_Sort_Type = "name"

" 总是显示状态行

" 在右侧显示窗口
let Tlist_Use_Right_Window = 1

set laststatus=2

" 压缩方式
let Tlist_Compart_Format = 1

" 在编辑过程中,在右下角显示光标位置的状态行

" 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = 1

set ruler           

" 不要关闭其他文件的tags
let Tlist_File_Fold_Auto_Close = 0

" 命令行(在状态行下)的高度,默认为1,这里是2

" 不要显示折叠树
let Tlist_Enable_Fold_Column = 0

set cmdheight=2

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 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=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")

filetype on

" F5编译和运行C程序,F6编译和运行C++程序
" 请注意,下述代码在windows下使用会报错
" 需要去掉./这两个字符

" 载入文件类型插件

" C的编译和运行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!gcc % -o %<"
exec "! ./%<"
endfunc

filetype plugin on

" C++的编译和运行
map <F6> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!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

filetype indent on

                  au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single au BufReadPost *.nfo call RestoreFileEncodings()

" 保存全局变量

" 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile * setfiletype txt

set viminfo+=!

" 用空格键来开关折叠
set foldenable
set foldmethod=manual
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

set iskeyword+=_,$,@,%,#,-

注:此为网上比较流行的一个.vimrc版本

" 字符间插入的像素行数目

经此两步,VIM已经配置完成,快打开看效果吧^_^

set linespace=0

按照上面的两个步骤做了就搞定了!要先安装vim-full然后再配置! 可以使用F5与F6来编译!

" 增强模式中的命令行自动完成操作

图片 2

set wildmenu

" 使回格键(backspace)正常处理indent, eol, start等

set backspace=2

" 允许backspace和光标键跨越行边界

set whichwrap+=<,>,h,l

" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)

set mouse=a

set selection=exclusive

set selectmode=mouse,key

" 通过使用: commands命令,告诉我们文件的哪一行被改变过

set report=0

" 启动的时候不显示那个援助索马里儿童的提示

set shortmess=atI

" 在被分割的窗口间显示空白,便于阅读

set fillchars=vert: ,stl: ,stlnc:

" 高亮显示匹配的括号

set showmatch

" 匹配括号高亮的时间(单位是十分之一秒)

set matchtime=5

" 光标移动到buffer的顶部和底部时保持3行距离

set scrolloff=3

" 为C程序提供自动缩进

set smartindent

" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示

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=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")

" F5编译和运行C程序,F6编译和运行C++程序

" 请注意,下述代码在windows下使用会报错

" 需要去掉./这两个字符

" C的编译和运行

map <F5> :call CompileRunGcc()<CR>

func! CompileRunGcc()

exec "w"

exec "!gcc % -o %<"

exec "! ./%<"

endfunc

" C++的编译和运行

map <F6> :call CompileRunGpp()<CR>

func! CompileRunGpp()

exec "w"

exec "!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

" 用空格键来开关折叠

set foldenable

set foldmethod=manual

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

" Vim color file

"  Maintainer: Tiza

" Last Change: 2002/10/30 Wed 00:08.

"     version: 1.0

" This color scheme uses a dark background.

set background=dark

hi clear

if exists("syntax_on")

   syntax on

endif

let colors_name = "breeze"

hi Normal       guifg=#ffffff guibg=#005c70

" Search

hi IncSearch    gui=UNDERLINE guifg=#60ffff guibg=#6060ff

hi Search       gui=NONE guifg=#ffffff guibg=#6060ff

" Messages

hi ErrorMsg     gui=BOLD guifg=#ffffff guibg=#ff40a0

hi WarningMsg   gui=BOLD guifg=#ffffff guibg=#ff40a0

hi ModeMsg      gui=NONE guifg=#60ffff guibg=NONE

hi MoreMsg      gui=NONE guifg=#ffc0ff guibg=NONE

hi Question     gui=NONE guifg=#ffff60 guibg=NONE

" Split area

hi StatusLine   gui=NONE guifg=#000000 guibg=#d0d0e0

hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0

hi VertSplit    gui=NONE guifg=#606080 guibg=#d0d0e0

hi WildMenu     gui=NONE guifg=#000000 guibg=#00c8f0

" Diff

hi DiffText     gui=UNDERLINE guifg=#ffff00 guibg=#000000

hi DiffChange   gui=NONE guifg=#ffffff guibg=#000000

hi DiffDelete   gui=NONE guifg=#60ff60 guibg=#000000

hi DiffAdd      gui=NONE guifg=#60ff60 guibg=#000000

" Cursor

hi Cursor       gui=NONE guifg=#ffffff guibg=#d86020

hi lCursor      gui=NONE guifg=#ffffff guibg=#e000b0

hi CursorIM     gui=NONE guifg=#ffffff guibg=#e000b0

" Fold

hi Folded       gui=NONE guifg=#ffffff guibg=#0088c0

" hi Folded       gui=NONE guifg=#ffffff guibg=#2080d0

hi FoldColumn   gui=NONE guifg=#60e0e0 guibg=#006c7f

" Other

hi Directory    gui=NONE guifg=#00e0ff guibg=NONE

hi LineNr       gui=NONE guifg=#60a8bc guibg=NONE

hi NonText      gui=BOLD guifg=#00c0c0 guibg=#006276

hi SpecialKey   gui=NONE guifg=#e0a0ff guibg=NONE

hi Title        gui=BOLD guifg=#ffffff guibg=NONE

hi Visual       gui=NONE guifg=#ffffff guibg=#6060d0

" hi VisualNOS  gui=NONE guifg=#ffffff guibg=#6060d0

" Syntax group

hi Comment      gui=NONE guifg=#c8d0d0 guibg=NONE

hi Constant     gui=NONE guifg=#60ffff guibg=NONE

hi Error        gui=BOLD guifg=#ffffff guibg=#ff40a0

hi Identifier   gui=NONE guifg=#cacaff guibg=NONE

hi Ignore       gui=NONE guifg=#006074 guibg=NONE

hi PreProc      gui=NONE guifg=#ffc0ff guibg=NONE

hi Special      gui=NONE guifg=#ffd074 guibg=NONE

hi Statement    gui=NONE guifg=#ffff80 guibg=NONE

hi Todo         gui=BOLD,UNDERLINE guifg=#ffb0b0 guibg=NONE

hi Type         gui=NONE guifg=#80ffa0 guibg=NONE

hi Underlined   gui=UNDERLINE guifg=#ffffff guibg=NONE

 

本文由10bet手机官网发布于微服架构,转载请注明出处:配置说明

上一篇:如果生活有爱情,总是梦想着有那么一天 下一篇:没有了
猜你喜欢
热门排行
精彩图文