Ubuntu-安装GVIM7.3

1.去VIM官网上下载vim7.3源代码  vim-7.3.tar.bz2;  卸载ubuntu自带的山寨7.2版,用新立德工具,搜索VIM,标记vim-common,默认会标记所有依赖,很方便,然后卸载。下载后随便解压到一 个地方,通常源码我都放到哦/usr/local/src里,但是,默认是没有权限的,要用chown $USER /usr/local/src付权限

2.cd vim73;cd src,因为vim所有的安装文件都在vim/src目录下

3.执行./configure命令。运行后,会提示你checking for tgetent()... configure: error: NOT FOUND!这是因为一个库没有安装,这说明需要安装 libncurses5-dev,还是用新立德安装

4.make

5.sudo make install

6.此时在终端下输入vim或者gvim都应该可以启动了

7.修改vim的配置文件,通常不建议修改/etc/vim/下的配置文件,而是在home目录下建一个.vimrc,
下面贴出我的.vimrc
"============================================================"
"by Leixu,2011-03-03
"============================================================
set nocompatible "设定 gvim 运行在增强模式下,不使用vi的键盘模式
set helplang=cn  "设置帮助的语言
filetype on "设置文件类型的检测
filetype plugin on "为特定的文件类型允许插件文件的载入
filetype indent on "为特定的文件类型载入相关的缩进文件
set cursorline
set et "编辑时将所有 Tab 替换为空格
set sw=2 "自动缩进的时候, 缩进尺寸为 2 个空格
set sts=2 "设置 softtabstop 为 2. 输入 tab 后就跳了2格.
set smarttab "行首的 <Tab> 根据 'shiftwidth' 插入空白
let php_folding = 1 "折叠类、函数等
set backspace=indent,eol,start "不设定的话在插入状态无法用退格键和 Delete
set nobackup " 覆盖文件时不备份
setlocal noswapfile
set bufhidden=hide
set history=50        " 设置在命令行显示多少历史记录
set showcmd            " 在状态栏显示目前所执行的指令
set incsearch        " 输入搜索内容时就显示搜索结果
set number                " 显示行号
set clipboard+=unnamed
"打开自动缩进和 C 语言风格的缩进模式,定制 C 语言缩进风格
set smartindent
set mouse=a                " 设定在任何模式下鼠标都可用
set scrolloff=15         " 设定光标离窗口上下边界 5 行时窗口自动滚动
set ignorecase            " 搜索时忽略大小写
set smartcase            "但在有一个或以上大写字母时,仍保持对大小写敏感
set hid                 " 允许在有未保存的修改时切换缓冲区,此时的修改由切换由 vim 负责保存
set shiftwidth=2        " 设定 << 和 >> 命令移动时的宽度为 4
set showmatch            " 在输入括号时光标会短暂地跳到与之相匹配的括号处,不影响输入
"设置 折行
set textwidth=100
set fo+=Mm
set wrap
winpos 1400 5
set lines=55 columns=138
syn on
set completeopt=menu,longest,preview
set confirm
"解决乱码
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")|| has("win64")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
language messages zh_CN.utf-8
"设置配色方案
colorscheme desert
"设置字体
set guifont=Monospace
"==========================设置快捷键
"多标签时切换标签
noremap <A-j> gT
noremap <A-k> gt
map <F12> gq
""
"设置 bufexplorer
map <c-w><c-f> :FirstExplorerWindow<cr>
map <c-w><c-b> :BottomExplorerWindow<cr>
map <c-w><c-t> :NERDTreeToggle<cr>
"去掉烦死我的错误声音
set vb t_vb=
"工作目录随文件变
autocmd BufEnter * cd %:p:h
"设置状态栏
set statusline+=%f
"不显示工具条
set guioptions-=T
""set guioptions-=m
 " 打开文件时光标自动到上次退出该文件时的光标所在位置
autocmd BufReadPost * if line("'/"") && line("'/"") <= line("$") | exe "normal`/"" | endif

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"比较不同
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '/<cmd'
      let cmd = '""' . $VIMRUNTIME . '/diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '/diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '/diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction


"设置自动补全
setl omnifunc=nullcomplete#Complete
autocmd FileType * setl omnifunc=nullcomplete#Complete
autocmd FileType python setl omnifunc=pythoncomplete#Complete
autocmd FileType javascript setl omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html setl omnifunc=htmlcomplete#CompleteTags noci
autocmd FileType css setl omnifunc=csscomplete#CompleteCSS noci
autocmd FileType xml setl omnifunc=xmlcomplete#CompleteTags
autocmd FileType php setl omnifunc=phpcomplete#CompletePHP
autocmd FileType c setl omnifunc=ccomplete#Complete
"设定状态条
set cmdheight=1             " 设定命令行的行数为 1
set laststatus=2            " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=%F%m%r/ / / / / / / / / / / %l,%c%V/ %p%%/ / / / / /
set statusline+=/ / / / [/ 总共/ %L/ 行/ ]
"设置智能大小写查找
set ignorecase smartcase
"设置标尺
set ruler            "打开状态栏标尺
"设置制表符
set cindent shiftwidth=2
set softtabstop=2
set smarttab
set list "显示制表符
set listchars=tab:>-
"设置标签
function GuiTabLabel()
    let label = ''
let bufnrlist = tabpagebuflist(v:lnum)
    " 如果标签页里有修改过的缓冲区,加上 '+'
    for bufnr in bufnrlist
    if getbufvar(bufnr, "&modified")
    let label = '+'
    break
    endif
    endfor
    " 如果标签页里的窗口数目多于一,加上窗口数目
    let wincount = tabpagewinnr(v:lnum, '$')
    if wincount > 1
    let label .= wincount
    endif
    if label != ''
    let label .= ' '
    endif
    " 附加缓冲区名
label . bufname(bufnrlist[tabpagewinnr(v:lnum) - 1])
    endfunction
    set guitablabel=%{GuiTabLabel()}
    set guitablabel=%N/ %f
    "设置php注释
    "source $vimruntime/vimfiles/plugin/php-doc.vim 
    inoremap <C-P> <ESC>:call PhpDocSingle()<CR>i 
    nnoremap <C-P> :call PhpDocSingle()<CR> 
    vnoremap <C-P> :call PhpDocRange()<CR>  
    "设置putty
    let g:netrw_sftp_cmd = "PSFTP"
    "设置quickfix
    "php语法检查
    setlocal makeprg=/"d:/wamp/bin/php/php5.2.6/php.exe/"/ -l/ -n/ -d/ html_errors=off/ %
    setlocal errorformat=%m/ in/ %f/ on/ line/ %l
    "autocmd BufWritePost *.php,*.phps :make
    map <F5> :w<CR>:noh<CR>:make<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>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i

function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "/<Right>"
else
return a:char
endif
endf

 

http://www.kukaka.org/home/showonews/344

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值