**
编译器之神VIM——简单配置
**
众所周知,VIM和Emacs是最好的两款文本编译器。Emacs在linux系统或者windows上都有良好的兼容版。而VIM在linux系统上大多不使用在windows上的图形界面GVIM。当然,如果对windows有依赖的朋友不要担心使用图形界面的GVIM有什么不妥之处,两者虽有差别但本质上是一样的,无论是选择VIM,GVIM,或者是Emacs,都因个人习惯而定。一千个读者眼里有一千个哈姆雷特,正所谓:没有最好的编译器,只有最适合自己的编译器。开心才是硬道理。好了,谝完了,咱们来看一下今天我们的重头戏:如何配置我们的VIM?
第一步 安装VIM
几乎所有的Linux系统都会预先安装VIM文本编译器。如果没有安装的话,可以在终端执行如下命令来安装VIM
Debian/ubuntu系列:
sudo apt-get install vim
RedHat/Centos系列:
yum install vim
如果不满意系统安装的VIM版本可以手动编译VIM的安装包。现在已经发布了VIM8.0,但是还没有在Linux预装,如果喜欢,可以手动编译。
没有安装git的朋友,请事先安装
Debian/ubuntu系列:
sudo apt-get install git
RedHat/Centos系列:
yum install git
查看git版本
git –version
安装好git这个神器我们就可以下载安装VIM8.0,可以用以下命令下载VIM8.0的源文件,然后手动编译安装
解压下载的安装包后,打开找到src文件夹,执行以下命令(注意:要在src文件夹里执行!)
./configure
然后进入root模式后执行:
make && make install
vim –version
OK!VIM8.0已经出现在我们的屏幕上了。接下来,我们还需要一个插件—–Vundle。这是一款非常好用的插件管理器,当然Vundle本身也是一个插件。用Vundle管理VIM会给我们节省很多安装或者卸载插件的麻烦,笔者极力推荐大家使用这款软件。
第二步 安装Vundle
Vundle官方安装教程:
第三步 配置.vimrc文件
总算到了最后一步,开始配置最有个性的.vimrc文件。首先在~/下新建一个.vimrc文件,当然如果你在上述安装Vundle的时候已经建立好的话,就无需再建立。否则你使用如下命令建立文件:
vim .vimrc
在这里你可以配置各种你喜欢的个性化配置,这也是VIM强大的原因。
基本配置:
"通用设置
"""""""""""""""""""""""""""""""""""""""""""
"开启文件类型侦测
filetype on
"根据侦测到的不同类型加载对应文件
filetype plugin on
"不用vi的键盘模式,使用vim自己的
set nocompatible
"不让vim发出讨厌的滴滴声
set noerrorbells
"去掉输入错误的提示
set noeb
"告诉我们文件的那一行被改变过
set report=0
"""""""""""""""""""""""""""""""""""""""""""""
"显示设置
"显示行号
"set number
"允许指定语法高亮配色方案替换默认方案
syntax on
"开启256色支持,默认是8色
set t_Co=256
"总是显示状态栏
set laststatus=2
"禁止显示菜单和工具条
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R
"字符间插入的像素行数
set linespace=0
"高亮显示匹配的括号
set showmatch
"匹配括号高亮的时间(单位是十分之一秒)
set matchtime=1
"光标移动到buffer的顶部和底部时保持5行的距离
set scrolloff=5
"允许backspace和光标建跨越边界
set whichwrap+=<,>,h,l
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"代码缩进和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"设置自动缩进
"设置使用C/C++语言的自动缩进方式
set autoindent
"设置使用C/C++语言的具体缩进方式
set cindent
"自适用不同语言的智能缩进
set smartindent
"设置编辑时制表符占用空格数
set tabstop=4
"设置格式化时制表符占用空格数
set shiftwidth=4
"让vim把连续数量的空格视为一个制表符
set softtabstop=4
"历史文件中需要记录的行数
set history=1000
"禁止折行
set nowrap
"是回格键正常处理indent,eol,start等
set backspace=2
"""""""""""""""""""""""""""""""""""""""""""""
"搜索设置
"""""""""""""""""""""""""""""""""""""""""""""
"高亮显示搜索结果
set hlsearch
"开启实时搜索功能
set incsearch
"搜索时大小写不敏感
set ignorecase
"设置魔术
set magic
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"代码折叠
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"其于缩进或语法进行代码折叠
"set foldmethod=indent
set foldmethod=syntax
"启动vim时关闭折叠代码
set nofoldenable
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"代码补全
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"以vim自身命名行模式智能补全
set wildmenu
"补全内容不以分割子窗口形式出现,只显示补全列表
set completeopt-=preview
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"缓存设置
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"禁止生成临时文件
set nobackup
set noswapfile
"文件在vim之外修改过,自动重新读入
set autoread
"设置自动保存
set autowrite
"在处理未保存或只读文件的时候,弹出确认
set confirm
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"编码设置
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"帮助系统设置为中文
set langmenu=zh_CN.UTF-8
set helplang=cn
"设置编码格式
set termencoding=utf-8
set encoding=utf8
"使用utf-8或gtk打开文件
set fileencodings=utf8,usc-bom,gbk,cp936,gb2312,gb18030
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"新建文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
autocmd BufNewFile *.cpp,*.c,*.hpp,*.h,*.sh,*.py exec ":call SetTitle()"
func SetTitle()
if expand("%:e")=='sh'
call setline(1,"\#!/bin/bash")
call append(line("."),"")
elseif expand("%:e")== 'py'
call setline(1,"#!/usr/bin/env python")
call append(line("."),"#!coding=utf-8")
call append(line("."),"")
elseif expand("%:e")=='cpp'
call setline(1,"#include<iostream>")
call append(line("."),"")
elseif expand("%:e")=='cc'
call setline(1,"#include<iostream>")
call append(line("."),"")
elseif expand("%:e")=='c'
call setline(1,"#include<stdio.h>")
call append(line("."),"")
elseif expand("%:e")=='h'
call setline(1,"#pragma once")
elseif expand("%:e")=='hpp'
call setline(1,"#pragma once")
endif
endfunc
autocmd BufNewFile * normal G
插件的配置代码:
"Vndle
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
"vundle管理的插件必须位于vundle#begin()和vundle#endzhijian
Plugin 'L9'
Plugin 'scrooloose/nerdcommenter'
Plugin 'scrooloose/nerdtree'
Plugin 'rstacruz/sparkup',{'rtp':'vim/'}
Plugin 'jiangmiao/auto-pairs'
Plugin 'chxuan/change-colorscheme'
Plugin 'rkulla/pydiction'
Plugin 'Valloric/MatchTagAlways'
Plugin 'vim-scripts/a.vim'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'junegunn/vim-slash'
Plugin 'godlygeek/tabular'
Plugin 'iamcco/markdown-preview.vim'
Plugin 'suan/vim-instant-markdown'
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'git://git.wincent.com/command-t.git'
call vundle#end()
filetype plugin indent on
到这里就结束了VIM的简单配置,希望大家可以喜欢VIM并且深深地去了解它,如果你们有什么好的想法也不要吝啬哈,分享给你身边或者上网上的朋友把。第一次写博客,如果有错误,请指正。