Vim是在vi的基础上升级而来的,比vi更强大,提供代码补全,编译功能

【4】vim

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

Vimtutor

插件安装:

一、安装vundle

其中主要使用的一个插件是Vundle,是管理插件的插件。首先利用Git下载安装Vundle:

$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

二、如何通过vundle安装插件

  1. vim-scripts仓库中的插件,可以直接使用Bundle 'L9'这样的格式配置
  2. github上其他用户的插件,使用Bundle 'hahaya/hahaya-vim.git'这样用户名加仓库名的方式配置(自己的插件全部使用这种方法配置)

三、vundle命令

  • :BundleList -列举出列表中(.vimrc中)配置的所有插件
  • :BundleInstall -安装列表中全部插件
  • :BundleInstall! -更新列表中全部插件
  • :BundleSearch foo -查找foo插件
  • :BundleSearch! foo -刷新foo插件缓存
  • :BundleClean -清除列表中没有的插件
  • :BundleClean! -清除列表中没有的插件

四、配置.vimrc

上面已经解释了vundle的简单用法,下面配置.vimrc,然后介绍如何通过vundle管理插件,先在终端下执行vim ~/.vimrc命令,如果存在.vimrc则打开,不存在.vimrc则创建一个.vimrc并打开。在.vimrc中加入一些常用配置,我的.vimrc如下:

"====================================

"    FileName: .vimrc

"    Author:   ce

"    Version:  1.0.0

"    Email:    zbing3@gmail.com

"    Blog: http://opslinux.com

"    Date: 2013-7-23

"=============================================

"==================================

"    Vim基本配置

"===================================

"关闭vi的一致性模式 避免以前版本的一些Bug和局限

set nocompatible

"配置backspace键工作方式

set backspace=indent,eol,start

"显示行号

set number

"设置在编辑过程中右下角显示光标的行列信息

set ruler

"当一行文字很长时取消换行

"set nowrap

"在状态栏显示正在输入的命令

set showcmd

"设置历史记录条数

set history=1000

"设置取消备份 禁止临时文件生成

set nobackup

set noswapfile

"突出现实当前行列

"set cursorline

"set cursorcolumn

"设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号

set showmatch

"设置C/C++方式自动对齐

set autoindent

set cindent

"开启语法高亮功能

syntax enable

syntax on

"指定配色方案为256色

set t_Co=256

"设置搜索时忽略大小写

set ignorecase

"设置在Vim中可以使用鼠标 防止在Linux终端下无法拷贝

set mouse=a

"设置Tab宽度

set tabstop=4

"设置自动对齐空格数

set shiftwidth=4

"设置按退格键时可以一次删除4个空格

set softtabstop=4

"设置按退格键时可以一次删除4个空格

set smarttab

"将Tab键自动转换成空格 真正需要Tab键时使用[Ctrl + V + 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

五、使用vundle安装插件

前面已经介绍了.vimrc的基本配置,那么该怎么使用vundle来管理vim插件呢,在.vimrc中添加如下内容启用vundle管理vim插件的功能,并使用vundle来配置一个名为vim-powline的状态栏加强插件

"开始使用Vundle的必须配置

set nocompatible

filetype off

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

"使用Vundle来管理Vundle

Bundle 'gmarik/vundle'

"PowerLine插件 状态栏增强展示

Bundle 'Lokaltog/vim-powerline'

"安装NERD-tree

Bundle 'The-NERD-tree'

"Vundle配置必须 开启插件

filetype plugin indent on

"vim有一个状态栏 加上powline则有两个状态栏

"设置powerline状态栏

set laststatus=2

set t_Co=256

let g:Powline_symbols='fancy'

set nocompatible

set enc=utf-8

let termencoding=&encoding

set fileencodings=utf-8,gbk,ucs-bom,cp936

set guifont=Ubuntu\ Mono\ for\ Powerline\ 12

"设置NERDTree的选项

let NERDTreeMinimalUI=1

let NERDChristmasTree=1

" Give a shortcut key to NERD Tree

map  :NERDTreeToggle

保存.vimrc文件,然后重新打开一个vim,在NORMAL模式下输入命令:BundleInstall,首次执行会要求输入github帐号和密码,等待插件下载完成,然后重新启动vim就会看见漂亮的状态栏插件~

六、使用vundle更新插件

使用vundle更新插件非常简单,只用打开一个vim,然后在NORMAL模式下输入命令:BundleInstall!

七、使用vundle卸载插件

使用vundle卸载插件也很简单,只需在.vimrc去掉绑定插件的命令及插件的配置(注释掉即可,以免以后会使用),假如需要卸载vim-powerline这个插件,首先在.vimrc中注释掉以下内容:

Bundle 'Lokaltog/vim-powerline'

"vim有一个状态栏 加上powline则有两个状态栏

set laststatus=2

set t_Co=256

let g:Powline_symbols='fancy'

保存.vimrc文件,重新打开一个vim,在NORMAL模式下输入命令:BundleClean,打开~/.vim/bundle已经看不到插件vim-powerline的相关文件,是不是很方便~

NERDTree

我们在介绍pathogen的时候,用一张图展示了插件的目录结构,这个目录结构就是基于NERDTree插件实现的。

1、下载地址

https://github.com/scrooloose/nerdtree

2、功能说明

NERDTree是Vim最常用的插件之一,可以在Vim运行时显示目录和文件结构,类似TextMate左侧的文件浏览器,但操作起来更为方便,你可以在手不离开键盘的情况下快速浏览文件,并在文件和文件夹之间进行切换。

3、安装

进入.vim/bundle目录

执行git clone git://github.com/scrooloose/nerdtree.git

下载完成后,在bundle下会多出一个nerdtree的文件夹,所有相关插件都在该文件夹下

在Vim中运行:Helptags来生成NERDTree的在线帮助tags

4、使用说明

打开Vim,输入:NERDTree,即可呼出执行Vim命令的当前目录的文件目录。为了方便使用,我在.vimrc中定义了快捷键,可以用Ctrl+t打开NERDTree,你可以定义自己习惯的快捷键。

NERDTree提供了丰富的键盘操作方式来浏览和打开文件,我简单介绍一些常用的快捷键:

和编辑文件一样,通过h j k l移动光标定位

o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中

go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能

i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能

t 在标签页中打开

T 在后台标签页中打开

p 到上层目录

P 到根目录

K 到同目录第一个节点

J 到同目录最后一个节点

m 显示文件系统菜单(添加、删除、移动操作)

? 帮助

q 关闭

想了解更多操作方式,可以通过? 查看详细的帮助信息。

"====================================
" FileName: .vimrc
" Author: ce
" Version: 1.0.0
" Email: zbing3@gmail.com
" Blog: http://opslinux.com
" Date: 2013-7-23
"============================================= "==================================
" Vim基本配置
"=================================== "关闭vi的一致性模式 避免以前版本的一些Bug和局限
set nocompatible
"配置backspace键工作方式
set backspace=indent,eol,start "显示行号
set number
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"当一行文字很长时取消换行
set nowrap "在状态栏显示正在输入的命令
set showcmd "设置历史记录条数
set history= "设置取消备份 禁止临时文件生成
set nobackup
set noswapfile "突出现实当前行列
set cursorline
set cursorcolumn "设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号
set showmatch "设置C/C++方式自动对齐
set autoindent
set cindent "开启语法高亮功能
syntax enable
syntax on "指定配色方案为256色
set t_Co= "设置搜索时忽略大小写
set ignorecase "设置在Vim中可以使用鼠标 防止在Linux终端下无法拷贝
set mouse=a "设置Tab宽度
set tabstop=
"设置自动对齐空格数
set shiftwidth=
"设置按退格键时可以一次删除4个空格
set softtabstop=
"设置按退格键时可以一次删除4个空格
set smarttab
"将Tab键自动转换成空格 真正需要Tab键时使用[Ctrl + V + Tab]
set expandtab "设置编码方式
set encoding=utf-
"自动判断编码时 依次尝试一下编码
set fileencodings=ucs-bom,utf-,cp936,gb18030,big5,euc-jp,euc-kr,latin1 "检测文件类型
filetype on
"针对不同的文件采用不同的缩进方式
filetype indent on
"允许插件
filetype plugin on
"启动智能补全
filetype plugin indent on "开始使用Vundle的必须配置
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc() "使用Vundle来管理Vundle
Bundle 'gmarik/vundle' "PowerLine插件 状态栏增强展示
Bundle 'Lokaltog/vim-powerline'
"安装NERD-tree
Bundle 'The-NERD-tree' "Vundle配置必须 开启插件
filetype plugin indent on "vim有一个状态栏 加上powline则有两个状态栏
"设置powerline状态栏 set laststatus=
set t_Co=
let g:Powline_symbols='fancy'
set nocompatible
set enc=utf-
let termencoding=&encoding
set fileencodings=utf-,gbk,ucs-bom,cp936
set guifont=Ubuntu\ Mono\ for\ Powerline\ "设置NERDTree的选项
let NERDTreeMinimalUI=
let NERDChristmasTree=
" Give a shortcut key to NERD Tree
"map :NERDTreeToggle
"nmap <F3> :NERDTree <CR>
nnoremap <F10> :exe 'NERDTreeToggle'<CR>

上面home目录下vim的配置文件

ctrl+w在NERDTree的左右进行切换

Centos6.7下面配置vim及其插件的更多相关文章

  1. 【vim环境配置】在centos6.4上配置vim的一些零碎记录

    上一篇日志已经step by step地实录了如何在本机mac上配置vim开发环境已经各种插件. 有了一定经验之后,开始在实验室远程server上centos6.4的环境下配置vim环境. 这台机器是 ...

  2. 配置vim之插件

    涉及linux平台下ctags, taglist插件 ctags是一个用于产生代码索引文件的插件,它产生的索引可以帮助我们更快的定位到特定位置. ctags支持很多语言,比如java, c, c++, ...

  3. 使用Vundle管理配置Vim的插件

    1.介绍: 安装需要Git,触发git clone,默认将每一个指定特定格式插件的仓库复制到~/.vim/bundle/. 搜索需要Curl支持. Windows用户请直接访问Windows setu ...

  4. CentOS6.5配置vim使支持Python

    CentOS6.5下开启vim对python的支持,配置方法如下: 1.检查系统已经安装了RPM包vim-enhanced; 2.复制默认的.vimrc初始化文件: # cp /usr/share/v ...

  5. 【vim】插件管理及代码智能提示与补全环境的配置

    1. 引言 可以使用脚本/插件来给vim添加各种神奇的功能,从更换颜色主题.到代码智能提示,甚至项目管理.无数开发者通过开源社区贡献自己开发的插件,使得vim有可能变得无比强大.这儿http://vi ...

  6. 配置vim插件遇到youcompleteme插件问题解决方案

    今天在Opensuse下配置vim 遇到两个问题 配置插件找到一个很好的博客.学到一些有用技巧 http://hahaya.github.io/2013/07/26/use-vundle.html 但 ...

  7. centos使用--vim配置和推荐插件使用

    目录 1.vimrc的配置内容 2.Vundle使用 简介 安装vundle 配置vundle插件: 安装需要的插件 移除不需要的插件 其他常用命令 3 使用插件 3.1 NERDTree 3.2 e ...

  8. vim 常用插件功能跟配置

    在之前的公司,一直是使用别人配置好的vim 环境,他当时配置的功能很强大,查看源码的时候,非常的方便.至少我一直都是用它来看源码,从来没有使用过source insight.现在换了工作,但之前养成的 ...

  9. 在ubuntu上搭建开发环境6---安装和使用vim及其插件(Pathogen和NERDTree)

    2015.09.08 更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928 Vim安装 命令: sudo apt-g ...

随机推荐

  1. UWP:记录一下这几天踩到的坑

    最近在玩微软的Desktop Bridge项目,遇到了如下几个坑: 1.文档中给的是js项目魔改的方法,其实C#项目也可以魔改加入UWP部分的,区别在于: 不用在项目文件里写<AppxGener ...

  2. python socket知识点

    ---恢复内容开始--- 数据在网络上进行传播,需要通过一种通信协议.常见的通信协议有:HTTP,SMTP,DNS,FTP,SSH,SNMP,ICMP PING,DNCP. OSI(Open Syst ...

  3. weblogic的使用

    1.怎么修改weblogic的端口 创建好域之后,去域的下面找到config.xml文件,在里面加上<listen-port>80</listen-port>即可,访问时不用加 ...

  4. linux 记录用户操作日志

    将以下加入到/etc/profile 最后 history USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]/ ...

  5. A Proof of Stake Design Philosophy - PoS权益证明设计理念

    之前在EthFans上看到了关于PoS(权益证明)的相关文章(原文链接),本着学习的态度,对这篇文章进行了翻译.第一次翻译关于区块链的文章,有些单词及句子的措辞还不是很准确,如果发现有翻译的不恰当的地 ...

  6. MySQL的奇怪的删表数据文件而表照样能打开

    MySQL的奇怪的删表数据文件而表照样能打开 author:headsen  chen      2017-11-02   17:57:17 现象:删除一个正在运行的mysql数据库的表的数据文件:* ...

  7. aspnetcore.webapi实践k8s健康探测机制 - kubernetes

    1.浅析k8s两种健康检查机制 Liveness k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可 ...

  8. ER图

    E-R图也称实体-联系图(Entity Relationship Diagram), 提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 它是描述现实世界概念结构模型的有效方法.是表示 ...

  9. [Noip2003 PJ] 数字游戏

    Description & Range 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有 ...

  10. Redis学习笔记01--主从数据库配置

    1.创建公共配置文件 所有配置文件添加到以下目录: /xxxx/redis-slave-master 创建公共的redis配置文件,直接使用redis的默认配置文件,修改以下配置项: bind 127 ...