【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、功能说明
NERDTree是Vim最常用的插件之一,可以在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效果同上,不过光标保持在文件目录里,类似预览文件内容的功能
i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能
t在标签页中打开
T在后台标签页中打开
p到上层目录
P到根目录
K到同目录第一个节点
J到同目录最后一个节点
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
q 关闭
想了解更多操作方式,可以通过? 查看详细的帮助信息。
使用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默认的蓝色注释不清楚
3.显示当前行
hi CursorLine cterm=NONE ctermbg=blue
- 【Linux 开发篇】之 vim插件
- 【Linux 开发篇】之 vim编辑器
- Linux之Vim(三):Vim插件使用导航
- VIM插件之NERD_comments.vim
- Vim插件之vim-flake8
- Vim插件之vim-autoformat
- Vim插件之vim-signature
- Vim插件之vim-workspace
- Vim插件之vim-airline
- Vim插件之vim-surround
- Vim插件之vim-commentary
- Vim插件之vim-polyglot
- Vim插件之investigate.vim
- Vim插件之vim-man
- Vim插件之ack.vim
- Linux Vim插件配置
- linux vim插件安装
- Linux---- vim 插件
- 一词多义——别有洞天
- Codeforces Round #343 (Div. 2) D. Babaei and Birthday Cake(线段树+离散化优化DP)
- 《Android源码设计模式》读书笔记 (11) 第11章 命令模式
- 数据结构(9)--链队列的定义以及相关操作的实现
- 不再年轻的时候
- 【Linux 开发篇】之 vim插件
- JAVA多线程-Lock的使用(三)-Lock与Condiition相关的方法
- latex学习笔记4 文章的对齐
- IOS学习 UIAlertView and ActionSheet
- ftp梳理
- java常量池详解
- VTK物体内部检测
- 加速度传感器的原理和应用-手机翻转、失重检测、运动检测、位置识别
- 电商制作后台中前台的知识点