sudo apt-get install vim-full
在终端下面 输入 gedit ~/.vimrc 把1的文件复制到里面,然后保存
在终端下面 输入 gedit ~/.gvimrc 把2的文件复制到里面,然后保存。
然后关闭终端,重新开启终端,进入VIM即可以看到效果.vimrc"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 一般设定"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 设定默认解码set fenc=utf-8set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
" 不要使用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=Yellowhighlight StatusLineNC guifg=Gray guibg=White
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 文件设置"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 不要备份文件(根据自己需要取舍)set nobackup
" 不要生成swap文件,当buffer被丢弃的时候隐藏它setlocal noswapfileset bufhidden=hide
" 字符间插入的像素行数目set linespace=0
" 增强模式中的命令行自动完成操作set wildmenu
" 在状态行上显示光标所在位置的行号和列号set rulerset rulerformat=%20(%2*%
" 命令行(在状态行下)的高度,默认为1,这里是2set cmdheight=2
" 使回格键(backspace)正常处理indent, eol, start等set backspace=2
" 允许backspace和光标键跨越行边界set whichwrap+=,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)set mouse=aset selection=exclusiveset selectmode=mouse,key
" 启动的时候不显示那个援助索马里儿童的提示set shortmess=atI
" 通过使用: commands命令,告诉我们文件的哪一行被改变过set report=0
" 不让vim发出讨厌的滴滴声set noerrorbells
" 在被分割的窗口间显示空白,便于阅读set fillchars=vert:\ ,stl:\ ,stlnc:\
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 搜索和匹配"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 高亮显示匹配的括号set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)set matchtime=5
" 在搜索的时候忽略大小写set ignorecase
" 不要高亮被搜索的句子(phrases)set nohlsearch
" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)set incsearch
" 输入:set list命令是应该显示些啥?set listchars=tab:\|\ ,trail:.,extends:>,precedes:
" 光标移动到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
" 制表符为4set tabstop=4
" 统一缩进为4set softtabstop=4set shiftwidth=4
" 不要用空格代替制表符set noexpandtab
" 不要换行set nowrap
" 在行和段开始处使用制表符set smarttab
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" CTags的设定"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 按照名称排序let Tlist_Sort_Type = "name"
" 在右侧显示窗口let Tlist_Use_Right_Window = 1
" 压缩方式let Tlist_Compart_Format = 1
" 如果只有一个buffer,kill窗口也kill掉bufferlet Tlist_Exist_OnlyWindow = 1
" 不要关闭其他文件的tagslet Tlist_File_Fold_Auto_Close = 0
" 不要显示折叠树let Tlist_Enable_Fold_Column = 0
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Autocommands"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
if has("autocmd")autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set numberautocmd FileType xml,html vmap 'o'>o-->autocmd FileType java,c,cpp,cs vmap 'autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vimautocmd BufReadPost *\ if line("'\"") > 0 && line("'\"") <= line("$") |\exe "normal g`\"" |\ endifendif " has("autocmd")
" F5编译和运行C程序,F6编译和运行C++程序" 请注意,下述代码在windows下使用会报错" 需要去掉./这两个字符
" C的编译和运行map :call CompileRunGcc()func! CompileRunGcc()exec "w"exec "!gcc % -o %exec "! ./%endfunc
" C++的编译和运行map :call CompileRunGpp()func! CompileRunGpp()exec "w"exec "!g++ % -o %exec "! ./%endfunc
" 能够漂亮地显示.NFO文件set encoding=utf-8function! SetFileEncodings(encodings)let b:myfileencodingsbak=&fileencodingslet &fileencodings=a:encodingsendfunctionfunction! RestoreFileEncodings()let &fileencodings=b:myfileencodingsbakunlet b:myfileencodingsbakendfunction
au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=singleau BufReadPost *.nfo call RestoreFileEncodings()
" 高亮显示普通txt文件(需要txt.vim脚本)au BufRead,BufNewFile *setfiletype txt
" 用空格键来开关折叠set foldenableset foldmethod=manualnnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')
" minibufexpl插件的一般设置let g:miniBufExplMapWindowNavVim = 1let g:miniBufExplMapWindowNavArrows = 1let g:miniBufExplMapCTabSwitchBufs = 1let g:miniBufExplModSelTarget = 1--------------------------------------------------------------------------------.gvimrc" Buffer的位置和大小winpos 300 100set lines=28set columns=90
" 因为设定为不换行,所以要显示底部滚动条,不显示左右滚动条和工具栏set guioptions+=bset guioptions-=rset guioptions-=lset guioptions-=T
" 设定颜色方案和字体" 英文用Consolas显示,中文用微软雅黑colorscheme desertset guifont=Consolas\ 11.5set guifontset=Microsoft\ YaHei\ 11
" 用浅色高亮当前行autocmd InsertLeave * se noculautocmd InsertEnter * se cul
" 不要使用vi的键盘模式,而是自己的set nocompatible" 语法高亮set syntax=on" 去掉输入错误的提示声音set noeb" 在处理未保存或只读的时候,弹出确认set confirm" 自动缩进set autoindentset cindent" Tab键的宽度set tabstop=4" 统一缩进为4set softtabstop=4set shiftwidth=4" 不要用空格代替制表符set noexpandtab" 在行和段开始处使用制表符set smarttab" 显示行号set number" 历史记录数set history=1000"禁止生成临时文件set nobackupset noswapfile"搜索忽略大小写set ignorecase"搜索逐字符高亮set hlsearchset incsearch"行内替换set gdefault"编码set enc=utf-8set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936"语言设置set langmenu=zh_CN.UTF-8set 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" 在编辑过程中,在右下角显示光标位置的状态行set ruler " 行(在状态行下)的高度,默认为1,这里是2set 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=aset selection=exclusiveset 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 'o'>o--> autocmd FileType ,c,cpp,cs vmap ''>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`\"" | \ endifendif " has("autocmd")" F5编译和运行C程序,F6编译和运行C++程序" 请注意,下述代码在下使用会报错" 需要去掉./这两个字符" C的编译和运行map :call CompileRunGcc()func! CompileRunGcc()exec "w"exec "!gcc % -o %exec "! ./%endfunc" C++的编译和运行map :call CompileRunGpp()func! CompileRunGpp()exec "w"exec "!g++ % -o %exec "! ./%endfunc" 能够漂亮地显示.NFO文件set encoding=utf-8function! SetFileEncodings(encodings) let b:myfileencodingsbak=&fileencodings let &fileencodings=a:encodingsendfunctionfunction! RestoreFileEncodings() let &fileencodings=b:myfileencodingsbak unlet b:myfileencodingsbakendfunctionau BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=singleau BufReadPost *.nfo call RestoreFileEncodings()" 高亮显示普通txt文件(需要txt.vim脚本)au BufRead,BufNewFile * setfiletype txt" 用空格键来开关折叠set foldenableset foldmethod=manualnnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')" minibufexpl插件的一般设置let g:miniBufExplMapWindowNavVim = 1let g:miniBufExplMapWindowNavArrows = 1let g:miniBufExplMapCTabSwitchBufs = 1let g:miniBufExplModSelTarget = 1