【Linux 开发篇】之 vim插件

来源:互联网 发布:mac系统外置光驱 编辑:程序博客网 时间:2024/05/17 06:15

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命令

o   :BundleList-列举出列表中(.vimrc)配置的所有插件

o   :BundleInstall-安装列表中全部插件

o   :BundleInstall!-更新列表中全部插件

o   :BundleSearchfoo -查找foo插件

o   :BundleSearch!foo -刷新foo插件缓存

o   :BundleClean-清除列表中没有的插件

o   :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和局限setnocompatible"配置backspace键工作方式setbackspace=indent,eol,start "显示行号setnumber"设置在编辑过程中右下角显示光标的行列信息setruler"当一行文字很长时取消换行"set nowrap "在状态栏显示正在输入的命令setshowcmd "设置历史记录条数sethistory=1000 "设置取消备份禁止临时文件生成setnobackupsetnoswapfile "突出现实当前行列"set cursorline"set cursorcolumn "设置匹配模式类似当输入一个左括号时会匹配相应的那个右括号setshowmatch "设置C/C++方式自动对齐setautoindentsetcindent "开启语法高亮功能syntax enablesyntaxon "指定配色方案为256色sett_Co=256 "设置搜索时忽略大小写setignorecase "设置在Vim中可以使用鼠标防止在Linux终端下无法拷贝setmouse=a "设置Tab宽度settabstop=4"设置自动对齐空格数setshiftwidth=4"设置按退格键时可以一次删除4个空格setsofttabstop=4"设置按退格键时可以一次删除4个空格setsmarttab"将Tab键自动转换成空格真正需要Tab键时使用[Ctrl + V + Tab]setexpandtab "设置编码方式setencoding=utf-8"自动判断编码时依次尝试一下编码setfileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1   "检测文件类型filetypeon"针对不同的文件采用不同的缩进方式filetype indent on"允许插件filetype plugin on"启动智能补全filetype plugin indent on


这个配置有一个问题就是,进入编辑模式后,鼠标右键无法使用,可以添加

set mouse=v
这一项,使其具有粘贴功能。

五、使用vundle安装插件

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

"开始使用Vundle的必须配置setnocompatiblefiletype offsetrtp+=~/.vim/bundle/vundle/call vundle#rc() "使用Vundle来管理VundleBundle 'gmarik/vundle' "PowerLine插件状态栏增强展示Bundle 'Lokaltog/vim-powerline'"安装NERD-treeBundle 'The-NERD-tree' "Vundle配置必须开启插件filetype plugin indent on "vim有一个状态栏加上powline则有两个状态栏"设置powerline状态栏 setlaststatus=2sett_Co=256letg:Powline_symbols='fancy'set nocompatibleset enc=utf-8let termencoding=&encodingset fileencodings=utf-8,gbk,ucs-bom,cp936set guifont=Ubuntu\ Mono\ for\ Powerline\ 12 "设置NERDTree的选项let NERDTreeMinimalUI=1let NERDChristmasTree=1" Give a shortcut key to NERD Tree"map :NERDTreeToggle"nmap <F3> :NERDTree  <CR>nnoremap <F10> :exe 'NERDTreeToggle'<CR> 

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

六、使用vundle更新插件

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

七、使用vundle卸载插件

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

Bundle 'Lokaltog/vim-powerline'"vim有一个状态栏加上powline则有两个状态栏setlaststatus=2sett_Co=256letg:Powline_symbols='fancy'

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

 

NERDTree

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

1、下载地址

https://github.com/scrooloose/nerdtree

2、功能说明

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

3、安装

进入.vim/bundle目录

执行git clonegit://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效果同上,不过光标保持在文件目录里,类似预览文件内容的功能

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

t在标签页中打开

T在后台标签页中打开

p到上层目录

P到根目录

K到同目录第一个节点

J到同目录最后一个节点

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

帮助

关闭

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

 

使用ctrl+p可以自动补齐代码。


更多可以参照 http://blog.csdn.net/wooin/article/details/1858917


贴上我的配置文件:


    "============================================    " 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    set mouse=v    "设置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的必须配置    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=1let NERDChristmasTree=1" Give a shortcut key to NERD Tree"map :NERDTreeToggle"nmap <F3> :NERDTree  <CR>nnoremap <F10> :exe 'NERDTreeToggle'<CR>        

快捷键F10就可以切换是否出现菜单




六.优化VIM的其他配置

1.
将jj映射成<ESC>,因为<ESC>实在太远了。

inoremap jj <ESC>


2.修改颜色配置

vim默认的蓝色注释不清楚

设置关键字为蓝色非粗体 :hi Identifier ctermfg =blue cterm =none (bold 就设置成粗体)
修改注释 颜色
 vi ~/.vimrc 加入如下内容
hi Comment ctermfg =blue
以下是vim不同关键字字体颜色修改方法
 
修改字符串颜色
hi String ctermfg =darkred
修改类型颜色
hi Type ctermfg =yellow
修改数字颜色
hi Number ctermfg =darkblue
修改常量颜色
hi Constant ctermfg =blue
修改声明颜色
hi Statement ctermfg =darkyellow

3.显示当前行

 set cursorline 可以显示当前行
但是显示时是一条下划线,这样会掩盖住真正的下划线。所以将显示当前行改为当前行颜色不一样。
hi CursorLine  cterm=NONE    ctermbg=blue   
         




0 0
原创粉丝点击