分享个CentOS 6.5 下Vim 配置图文详解,希望对大家有所帮助。

1. 登录并进入你常用的用户名下,查看其主目录

命令:

# su xxx

$ cd xxx

$ ls -a

2.查看并建立目录和文件

  • 首先看你的主目录~/ 下是否有.vimrc文件,没有就输入指令 $ touch .vimrc 新建该文件
  • 在主目录下新建目录 .vim,并进入.vim目录,建立plugin、doc、syntax三个目录

命令: $ mkdir .vim

     $ cd .vim

         $ mkdir plugin doc syntax

3. 简单地为.vimrc文件写入内容,设置vim显示格式

输入命令:$ wget  http://www.linuxidc.com/files/2016/05/vim/vimrc.zip

     $ unzip  vimrc.zip  -d  ~/

再次打开.c 或.cpp文件会有很多不同,例如:行号,高亮...

这里作些摘录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
" 显示相关
syntax on
set cul "高亮光标所在行
set cuc
set shortmess=atI " 启动的时候不显示那个援助乌干达儿童的提示
set go= " 不要图形按钮
"color desert " 设置背景主题
color ron " 设置背景主题
"color torte " 设置背景主题<br>set cursorline "高亮当前行<br>set cursorcolumn "高亮当前列
set ruler " 显示标尺
set showcmd " 输入的命令显示出来,看的清楚些
set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容
set laststatus=2 " 启动显示状态行(1),总是显示状态行(2)
"set foldenable " 允许折叠
set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
" 自动缩进
set autoindent
set cindent
" Tab键的宽度
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 使用空格代替制表符
set expandtab
" 在行和段开始处使用制表符
set smarttab
" 显示行号
set number
" 历史记录数
set history=1000
"搜索逐字符高亮
set hlsearch
set incsearch
"语言设置
set langmenu=zh_CN.UTF-8
set helplang=cn
" 总是显示状态行
set cmdheight=2
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
"将tab替换为空格
nmap tt :%s/\t/ /g<CR>
 
"自动补全
: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

4. 下载并安装TagList插件

点击下载插件:http://www.vim.org/scripts/script.php?script_id=273
下载较新版本的taglist压缩包 ,解压完成后,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin。
 
完成后打开.vimrc 并添加如下三条指令:
?
1
2
3
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1

打开.c或.cpp文件进入vim后,进入底行模式并输入命令"Tlist",就可以打开(或者关闭)taglist窗口

5.文件浏览器和窗口管理器 -- 插件: WinManager
点击下载插件:http://www.vim.org/scripts/script.php?script_id=95
建议下载较新版本的安装包,解压。
将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
 
完成后在.vimrc 中添加下面两行指令:

1
2
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle

打开.c 或.cpp 文件,在normal状态下键入wm,效果图:

6.建立源码索引——插件:Ctags

点击下载插件:http://ctags.sourceforge.net

下载好之后,解压并安装:

命令:

1
2
3
4
5
6
tar -xzvf ctags-5.6.tar.gz
cd ctags-5.6 
./configure
make
su root
make install 

完成之后就可以建立源码索引了,进入主目录下的usr目录,在终端中注入命令:ctags -R

打开.vimrc文件,加入以下命令:

1
2
3
4
5
"--ctags setting--
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
set tags=tags
set tags+=./tags <br>set tags+=/usr/tags

打开.c 或.cpp 文件后,光标选中函数名,直接键入Ctrl + w + ] 就可以跳到库函数的定义处,再直接键入 Ctrl + o 就可以退出调用查看

效果图:

Vim配置的插件还用很多,还需要大家多多查找资料继续进行配置,多多练习并熟悉其中的快捷键,好的Vim配置和熟练的应用可以让我们事半功倍~

CentOS 6.5 下Vim 配置图解的更多相关文章

  1. CentOS 6.5 下vim 配置

    1. 登录并进入你常用的用户名下,查看其主目录 命令: # su xxx $ cd xxx $ ls -a 2.查看并建立目录和文件 首先看你的主目录~/ 下是否有.vimrc文件,没有就输入指令 $ ...

  2. CentOS 7.3.1611系统安装配置图解教程

    操作系统:CentOS 7.3.1611 IP地址:192.168.21.130 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4 备注: CentOS 7.x系列只有64位系统 ...

  3. Centos 7环境下安装配置Hadoop 3.0 Beta1简记

    前言 由于以前已经写过一篇Centos 7环境下安装配置2.8的随笔,因此这篇写得精简些,只挑选一些重要环节记录一下. 安装环境为:两台主机均为Centos 7.*操作系统,两台机器配置分别为: 主机 ...

  4. Mac 下VIM配置

    Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...

  5. CentOS+Nginx+PHP+MySQL详细配置(图解)

    原文地址: http://www.jb51.net/article/26597.htm CentOS+Nginx+PHP+MySQL详细配置(带有图解),需要的朋友可以参考下.   一.安装MySQL ...

  6. CentOS 6.6下安装配置Tomcat环境

    本文转载至:http://www.linuxidc.com/Linux/2015-08/122234.htm 实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验 ...

  7. CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)

    首先说一下,无论是CentOS/RedHat还是Ubuntu都可以按源码方式.安装包方式编译安装. 1.   规划 192.168.4.93(h93)       1个主master  2个主segm ...

  8. Centos 7环境下安装配置MySQL 5.7

    安装步骤为: 1.由于Centos 7版中已经移除MySQL rpm,因此需要到其官方网站上下载rpm,下载完成后,使用以下命令,来安装MySQL的rpm配置. rpm -ivh *****[注释:* ...

  9. Linux下VIM配置以及常用快捷键

    一.VIM配置 在目录 /etc/vim下面,有个名为vimrc的文件,这是系统中公共的vim设置文件,对所有用户都有效.而在每个用户的主目录下,都能自己建立私有的设置文件,命名为:“.vimrc”. ...

随机推荐

  1. nginx+php-fpm配置后页面显示空白的解决方法(yum形式的安装)

    OS: Ubuntu 15.04 由于nginx与php-fpm之间的一个小bug,会导致这样的现象: 网站中的静态页面 *.html 都能正常访问,而 *.php 文件虽然会返回200状态码, 但实 ...

  2. 《Effective Java》读书笔记二(通用方法)

    No8 覆盖equals方法时请遵守通用约定 通用约定,下面的约定前提都是x/y/z不为null值. 自反性(reflexive),x.equals(x)必须返回true. 对称性(symmetric ...

  3. 在ASP.NET MVC5中使用特性路由

    首先在RegisterRoutes时开启特性路由功能: routes.MapMvcAttributeRoutes(); 然后,就可以使用了. [Route("{productId:int}/ ...

  4. macbook中gcc替换为gnu gcc

    macbook中gcc被定义为clang,而正统的gnu gcc却只能使用gcc-7(gcc 7版本),然而,如果修改/usr/bin的链接,还容易造成系统错误,因为mac的工具链和gcc(clang ...

  5. 【Android】21.2 2D图形图像处理(Canvas和Paint)

    分类:C#.Android.VS2015: 创建日期:2016-03-19 一.Canvas对象简介 画布(Canvas对象)是与System.Drawing或iOS核心图形等传统框架非常类似的另一种 ...

  6. Hibernate 的一级缓存和二级缓存总结

    缓存:缓存是什么,解决什么问题? 位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为缓存Cache.缓存目的:让数据更接近于应用程序,协调速度不匹配,使访问速度更快 ...

  7. Freemarker-2.3.22 Demo - No04_条件判断

    package No04_条件判断; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream ...

  8. Spark学习笔记总结-超级经典总结

    Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高 ...

  9. electron 的跳转

    // 测试 正常跳转应该登录成功 // that.timer = setInterval(() => { that.$router.push('/mainChat');//路由跳转mainCha ...

  10. pre 强制换行

    当前位置:懒人建站 > javascript > 网页特效 > css强制pre标签换行 css强制pre标签换行,pre标签的功能就是保留文本源格式,将会保留文本的长度,空格 空行 ...