写在前面,我写本文的目的不在于教大家怎么来配置VIM,因为我是新手,我也是参考了各位前辈的方法,在此只是记录一下过程,当然我个人觉得更重要的是心得体会。其实大家可能也发觉,国内的抄袭转载现象很严重,基本上百度搜出的结果有很多都是相同的内容,这样浪费了大家查找的时间。我觉得,在技术领域,首先最重要的当然是学习,学习前辈的经验和知识,其次也少不了个人的创新,当然也包括原创。好了,废话不多说,写完这个还要接着搞我的毕业设计呢!我的系统Ubuntu 12.04.5 LTS 。(怎么查看levo:~$ cat /etc/issue)

其实早就听说过vi在Linux里面各种各种的强大的传说,用一个比较流行的词语就是“不明觉厉”。是的,我虽然还没意识到, 但我觉得这么多人都这样说,肯定也有他的道理。使用ubuntu以来,基本很少用过vi,这两天算是头一次用vi,当然少不了关于vi操作的学习,此处不再赘述,这样的博文百度一大把。当然也有另外的方法:终端输入vimtutor,这是vim的一个教程。

一直没用过vi ,当然也就没关注过vi和vim的区别。大家可以简单的理解为vim是vi的增强版,进化版。所以首先是对vi编辑器的升级(其实也是我个人的理解,也有人说这不叫升级,只是说这是GUI界面的vim,安装gtk软件包):sudo apt-get install vim-gtk .安装完之后并没有特别大的变化如果你输入vim的话,所以更重要的是配置。由于我毕设需要进行C++的开发,所以此处的配置便是为了方便编程使用。话不多说,先上张图让大家看看最终的效果:

主要用到如下的插件:
vundle(用于插件管理)
taglist(显示代码结构)
NERD_Tree(树形目录)

   在进行插件安装之前,我先对vim进行一个简单的配置,主要是对一些格式,缩进,状态等进行配置。配置文件一般都在/etc目录下,命令:cd /etc/vim后可以进入vim文件夹,再ls操作我们可以看到:

其中vimrc文件便是vim 的配置文件,所有的配置信息都在里面,可以自己根据自己的喜好进行配置,也包括各种插件的配置,配置信息也写到这个文件里面。此处的配置我引用了博文点我里面对vim的配置。

"********************************************************
"                   一般性配置                          *
"********************************************************  "关闭vim一致性原则
set nocompatible  "显示行号
set number  "设置在编辑过程中右下角显示光标的行列信息
set ruler  "在状态栏显示正在输入的命令
set showcmd  "设置历史记录条数
set history=1000  "设置取消备份 禁止临时文件的生成
set nobackup
set noswapfile  "设置匹配模式
set showmatch  "设置C/C++方式自动对齐
set autoindent
set cindent  "开启语法高亮功能
syntax enable
syntax on  "指定配色方案为256色
set t_Co=256  "设置搜索时忽略大小写
set ignorecase  "配置backspace的工作方式
set backspace=indent,eol,start  "设置在vim中可以使用鼠标
set mouse=a  "设置tab宽度
set tabstop=4  "设置自动对齐空格数
set shiftwidth=4  "设置退格键时可以删除4个空格
set smarttab
set softtabstop=4  "将tab键自动转换为空格
set expandtab  "设置编码方式
set encoding=utf-8  "自动判断编码时 依次尝试以下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1  "检测文件类型
filetype on  "针对不同的文件采取不同的缩进方式
filetype indent on  "允许插件
filetype plugin on  "启动智能补全
filetype plugin indent on 

此时,你再打开一个c++文件,就可以看到和之前的不同了。到这里只是进行了vim配置的最基本的一小步。

接下来便是各种插件的安装。首先是目录浏览器插件NERD Tree.安装次插件我参考了博文。安装此插件着实让我好生郁闷,这是我第一个安装的插件,对vim的配置也没有根本的认识。而且进去之后关键是找不到怎么下载,故此处直接贴出我的下载步骤。
下载地址:点我
进入链接后,点击左边的DOWNLOAD

点击Sources mirror1(zip)]

点击三个方框中最左边的一个:

保存文件。我就按照默认路径来了。

下载以后可以直接解压: unzip NERD_tree.zip 可以看到生成了两个目录doc和plugin.首先sudo mkdir /etc/vim/doc; sudo mkdir /etc/vim/plugin 在/etc/vim目录下生成连个子目录,然后cp doc/* /etc/vim/doc; cp plugin/* /etc/vim/plugin此后,我们打开vim的配置文件sudo vim /etc/vim/vimrc,在文件末尾我们加入NERDTree的配置信息。如下:(引用自:博文)

"********************************************************
"                      NERD_Tree 配置                   *
"********************************************************  "显示增强
let NERDChristmasTree=1  "自动调整焦点
let NERDTreeAutoCenter=1  "鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2  "打开文件后自动关闭
let NERDTreeQuitOnOpen=1  "显示文件
let NERDTreeShowFiles=1  "显示隐藏文件
let NERDTreeShowHidden=1  "高亮显示当前文件或目录
let NERDTreeHightCursorline=1  "显示行号
let NERDTreeShowLineNumbers=1  "窗口位置
let NERDTreeWinPos='left'  "窗口宽度
let NERDTreeWinSize=31  "不显示'Bookmarks' label 'Press ? for help'
let NERDTreeMinimalUI=1  "快捷键
nnoremap <silent> <F4> :NERDTreeToggle<CR>  
  此时,再打开vim vimtest.c后,输入":NERD Tree"回车,就可以看到目录浏览结构了。当然记不得插件名字可以输入N后按Tab键,再回车。

vundle(用于插件管理)安装:参考了博文。
我直接引用算了:

Vim插件之插件管理器Vundle
1、介绍下载

  相比Sublime、Text2等现代编辑器,Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim下的几个文件夹中,配置Vim的过程, 就是在网上不停的搜插件,拷贝到~/.vim下,发现更新,要重新下载重新拷贝,想要删除某个不需要插件,更是要小心翼翼的不要删错。配置出顺手的Vim, 需要极大的耐心和运气。一般情况下的VIM插件管理方式。

Vundle(Vim bundle)是一个Vim的插件管理器。它是把git操作整合进去,用户需要做的只是去GitHub上找到自己想要的插件的名字,安装、更新和卸载都可有vundle来完成了。

  GitHub:https://github.com/gmarik/Vundle.vim

2、安装使用

【下载】通过下面的命令可以从GitHub上面下载Vundle。git clone https://github.com/gmarik/vundle.git下载完毕后,进入"~/.vim/bundle/vundle"可以看到安装的地方。我觉得他的第一段话说的很好。配置VIm的过程,就是不停的在网上搜=插件,然后拷贝到/etc/vim下的过程。这点体会是我做完配置工作后的一个体会,当时看到这句话的时候并没有特别大的感触,所以很多时候还是要自己去体会自己去实践,第一手的感觉和经验总是刻骨铭心的。说远了,下面进行vundle的配置.在".vimrc"文件中修改并按照下面例子加入相应需要的语句:
"*********************************************************
"                  vundle 配置                           *
"*********************************************************  set rtp+=~/.vim/bundle/vundle/
call vundle#rc()  " let Vundle manage Vundle
Bundle 'gmarik/vundle'  " My Bundles here:  Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
Bundle 'taglist.vim'
Bundle 'The-NERD-tree'
Bundle 'Syntastic'
Bundle 'L9'
Bundle 'FuzzyFinder'
Bundle 'Lokaltog/vim-powerline'
"由于我没有安装YouCompleteMe,所以我要把下面一句话注释掉
"Bundle 'Valloric/YouCompleteMe'  

Vundle会自动给你下载和管理插件,所以,你只要填上你所需要的插件名称即可。对于不同类型的插件,有不同的地址填写方法。按上面的方法填写完毕就可以了。填写完成,保存退出后,打开一个vim窗口。

打开一个vim, 运行”:BundleInstall”或者在命令行运行”vim +BundleInstall +qall”,安装完成后插件就能用了。

其它常用命令:

更新插件":BundleUpdate"
清除不再使用的插件":BundleClean"
列出所有插件":BundleList"
查找插件":BundleSearch"


大家可以看到它可以显示我安装的插件,进入vim后,输入:B之后不断的按Tab键就可以看到不同的命令了,:BundleUpdate;:BundleClean;:BundleList…当然此处我的命令是:BundleList

taglist(显示代码结构)插件安装:参考了博文

Taglist是以tags文件为基础,需要ctags生成tags文件。
安装ctags,Redhat和CentOS可以执行yum install ctags,Debian和Ubantu可以执行apt-get install ctags

下载Taglist,地址是http://sourceforge.net/projects/vim-taglist/files/vim-taglist/

解压taglist_45.zip,可以看到有两个目录doc和plugin,结构如下
复制代码

taglist_45
|
|——– doc
| ——– taglist.txt
|
——– plugin
——– taglist.vim

复制代码

执行下列shell命令,即安装完成

cp doc/taglist.txt /usr/share/vim/vim72/doc/
cp plugin/taglist.vim /usr/share/vim/vim72/plugin/

使用方法:

在源码目录下,执行ctags -R对各目录递归创建生成tags文件

用Vim打开源码文件,以命令模式执行Tlist,即可启用Taglist插件,可以查看taglist的帮助信息
配置信息如下:(同样写入到vimrc文件中)


"*****************************************************
"                   taglist配置                      *
"*****************************************************  "不显示"press F1 to display help"
let Tlist_Compact_Format=1  "窗口在左侧显示
let Tlist_Use_Right_Window=1  "只显示当前文件的tags
let Tlist_Show_One_File=1    "高亮显示
let Tlist_Auto_Highlight_tag=1  "随文件自动更新
let Tlist_Auto_Update=1  "设置宽度
let Tlist_WinWidth=30         "taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=1   "单击跳转
let Tlist_Use_SingClick=1  "打开关闭快捷键
nnoremap <silent> <F8> :TlistToggle<CR>  

最后,当然还有其他的插件可以供选择和安装,比如vim自动补全神器YouCompleteMe,不过由于感觉安装编译起来还有点复杂,同时要求vim的版本要在7.5以上,我觉得可能暂时不太需要这个东西,所以也就放弃安装了,以后如果有需要再进行另外的安装。

还有个小贴士:把光标放在某个插件里,也就是点击到某个插件的区域里,按q键即可以退出该插件。

总结:通过vim的配置,虽然真的不难,但任然花了我近3个小时的时间,但这只是初步的配置,以后还需要研究研究具体的配置信息,根据我个人的喜好,再个人定制。还是那句话,很多事情要自己亲力为之,得来的感受才会刻骨铭心!

ubuntu下vim的配置相关推荐

  1. Ubuntu下安装和配置Apache2方法简介

    本篇文章主要介绍了详解Ubuntu下安装和配置Apache2,小编觉得挺不错的,现在就分享给大家,也给大家做个参考.有兴趣的朋友可以了解一下. 在Ubuntu中安装apache 安装指令: sudo ...

  2. Ubuntu下使用UFW配置防火墙

    Ubuntu下使用UFW配置防火墙(简化iptables的操作) UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好 ...

  3. Ubuntu下安装并配置VS Code编译C++

    Ubuntu下安装并配置VS Code编译C++

  4. Ubuntu下vim设置tab键为4个空格

    1.Ubuntu下vim tab键默认为8个字节缩进,但是我们实际编程的时候感觉缩进量太大,很不美观 2.我们怎么设置tab键缩进大小呢? (1)若/etc/vim/vimrc目录下为可读可写,直接进 ...

  5. ubuntu下vim + ctags + taglist配置和使

    ctags安装 ctags可以建立源码树的索引,使程序员在编程时能迅速定位函数.变量.宏定义等位置去查看原形 以下是在ubuntu下ctags的下载安装和配置过程: 下载并安装ctags,终端输入命令 ...

  6. ubuntu下安装并配置VIM编辑器

    Ubuntu 16.04 下安装Vim 默认已经安装了VIM-tiny linuxidc@linuxidc:~$ locate vi | grep 'vi$' |xargs ls -al lrwxrw ...

  7. svn服务器安装位置,ubuntu下svn服务器安装配置--经过本人测试(非wwj)

    一.SVN安装 1.安装包 $ sudo apt-get install subversion 查看版本命令 svnserve --version(更多命令直接键入svnserve --help可查看 ...

  8. Hadoop在Ubuntu下的安装配置(配置成功)

    前面均在windows下进行,但是在安装hadoop过程中出了一些问题,先暂时切换到linux下,回头再补充windows下的安装.不过通过对比确实发现,在linux下的安装配置确实比较简单. 一.安 ...

  9. [深度学习] RCNNs系列(1) Ubuntu下Faster RCNN配置及训练和测试自己的数据方法

    最近用到Faster RCNN进行目标检测,前前后后两周把RCNN,SPPNet,Fast RCNN和Faster RCNN大体调查了一遍,准备写一个RCNNs系列,后面还要加上今年最新的Mask R ...

最新文章

  1. Kafka那些值得我们学习的优秀设计
  2. ccna实验配置个人总结
  3. 从@EnableRedisHttpSession谈谈Spring Session实现原理
  4. 常见激活函数及其求导相关知识
  5. 基于B/S架构的故障模型
  6. centos7 开机后进去了命令行_Linux系统管理:开机启动流程(二)
  7. Oracle distinct后加as,【大话IT】为何加distinct之后就不走索引了
  8. php源码自动识别文本中的链接,自动加载识别文件Auto.php
  9. 26岁创造UNIX的编程大佬,退休后却成为一名飞行员
  10. python中什么叫函数_Python 基础起步 (十) 什么叫函数?
  11. redis java 缓存服务器_java中对Redis的缓存进行操作
  12. ubuntu下 ls: error initializing month strings
  13. c fscanf 按行读取文件_每日干货丨C语言文件操作函数
  14. java移动元素_如何通过箭头键连续/平滑地移动元素?
  15. 教你使用 IDE/Maven 快速部署 Serverless 应用
  16. java jtree 监听_Java JTree.addTreeExpansionListener方法代码示例
  17. mac os x 10.7下配置svn服务器
  18. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_3_练习_使用递归计算阶乘...
  19. word创建Pdf时嵌入字体 Creating a PDF with Embedded Fonts for MS Word
  20. 【时间序列预测】基于matlab最小均方(LMS)算法时间序列预测【含Matlab源码 1335期】

热门文章

  1. 神经网络常用激活函数
  2. Python,Opencv cv2.Canny()边缘检测
  3. MPlayer编译步骤
  4. python建站与java建站有何不同_详解模板建站和定制建站的不同之处
  5. 【OpenCV】将单通道的Mat对象转换为三通道的Mat
  6. shell 脚本简单入门
  7. leetcode-23 合并K个排序链表
  8. 几种Normalization算法.md
  9. tp5实现Redis的简单使用
  10. 2019年3月8日比赛(知网是什么)