vundle的安装
git的使用跟yum 有点类似? git makes software development more collaborative(合作的).
这是unix/linux中的一种软件/项目/文件的管理思想, 这种"仓库"的思想很好! 就避免你到处去寻找/安装软件, 而且还附带提供依赖性管理, 安装/卸载/更新软件, 安装更快捷,卸载更完全等优点, 这一切通过 仓库中的index索引文件...
git更是给开发者/用户自己来创建/管理 "文件/项目仓库"的一个工具, 通过仓库(可以看作是服务器), 可以管理客户端的操作: 从仓库clone, 从仓库查询项目/文件
信息/版本变化, 合并, 从客户端登录删除仓库文件等.
usage: git [options] command [args], the most commonly used git commands are:
clone /init , branch, tag, log, fetch, commit,diff, push, pull, merge, mv, show, status, add, bisect
step1: git clone https://github.com/gmarik/vundle.git(项目?) ~/.vim/bundle/vundle
step2: configure /etc/vimrc, make it include rtp(runtime path, 插件下载的位置?) and 需要的插件
step3: 在vim中执行:BundleInstall命令等...
--------------- 随着vundle项目的发展, github上的配置有新的, 原来的配置, 只要用起来就行,推荐用github说的最新的...
vim-scripts: 是属于github.com的,专门用于托管vim插件的(vundle用的), 跟www.vim.org不同的! (response: 反应,回应; sponsor: 发起者,倡议者)
vundle的vim-scripts仓库就是指 放在 https://github.com/vim-scripts/下的vim插件
(html重要的确实是内容, 格式的话不会过分, 只是一个基本点: 分block 分section, 格式的话按内容依次摆放就ok了,不追求高底长短大小相同的)
(要从github上"下载"某个项目的文件: 在页面的右中部,可以用git clone... 地址会给出来的,如: https://github.com/(仓库)文件或项目地址/文件或项目名称.git
如: https://github.com/vim-scripts/taglist.vim.git, https://github.com/VundleVim/Vundle.vim.git, 或者直接点击download Zip)
-----------------------------------------------------------------------------
配置文档举例:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'taglist.vim'
Plugin 'OmniCppComplete'
Plugin 'AutoComplPop'
Plugin 'c.vim'
Plugin 'supertab'
Plugin 'scrooloose/nerdtree'
Plugin 'winmanager'
Plugin 'minibufexplorerpp'
Plugin 'snipMate'
call vundle#end()
filetype plugin indent on
--------------------------------------------------------
snipMate的用法
只有有个补齐键: tab
在snipMate/snippets/下去定义你自己的*.snippets文件, ${1}表示光标跳转的位置, 中间可以混合其他默认提供的值:${1:some_default_value},
而且在snippet中可以提供前后回溯: ${3:some_text $2} : 查看文件中有哪些snippets: <C-R>tab: 是大写的R, 用ctrl+shift+r
(英语中有a这个短音, ^音读呃: knowledge: nalidg, to my knowledge, there is no such 'idiom=dialect方言/土话/成员in English
considerable:~rably: very great/very many much /very big/相当的,可观的/地...)
(vim 直接支持*.txt.gz, 要注意, 要想在help帮助中实现跳转, 必须在同目录下有一个tags标签文件, 记录这些跳转位置, 格式: tagname certain.txt.gz /*certain_tag*, 事实上, 只要你在 tag标签文件中, 加上你自己的customize 自定义标签, 然后在帮组文件中写上 my_customize_tag *certain_tag*就可以在help certain_tag中实现标签的跳转)
(changes not allowed, modifiable is off: set ma)
minibufexplorer的用法
从逻辑上它始终只占一行, 即使你看起来"折行"了,
要将光标移到minibuferexplorer窗口后,才能使用tab, shift+tab, enter, d键, 所以它更多的是一种对buffer的直观显示(explorer的意思本来就是"浏览查看"的意思)
实际操作buffer,反而通过命令更快:bn, bp, badd, bd=bdel=bdelete, 增加buffer直接:e foo.cc就好了. minibufexplorer的显示是自动的.
NERDTree的用法
命令一定是:NERDTree, 才能打开目录树窗口视图, 前面的几个字母一定是大写的
可以用?来显示帮助, 其中要区分file mapping, directory mapping, 和filesystem mapping, 虽然都是o, 但是文件的o和目录的o是不同...
注意文件系统的mapping: C, cd, CD , u U, r R, m(对文件和目录的菜单操作) 和目录的mapping要结合起来使用...
winmanager的用法
要使winmanager自动启动加上: let g:AutoOpenWinManager = 1
nmap wm :WMToggle<CR>表示在normal下键入wm命令(注意不用再加冒号:)
(vim插件的 "命令/函数", 在ex命令:后, 可以/支持tab补齐和自动提示, 区分大小写)
(使用tab在gnome文件浏览器中跳转时, 在前面几个:工具栏, 地址栏, 左边的place栏都有矩形点线框, 然后当焦点在左边的place框的时候, 再次单击tab发现焦点
虚线框不见了, 其实,这个时候焦点框不是不见了,而是在右边的文件列表框中来了, 因为列表框中不知道定位哪个文件比较合适,所以就没有默认的选中项,这时只要使用方向键或直接搜索输入...)
vim的插件的配置文件: 在插件的plugin目录下, 有*.vim文件, 这些.vim文件既是功能函数, 又是配置文件,所以插件一般不再在 .vimrc中添加额外的配置)
######################################
## 使winmanager自动启动的配置:
第一步: 在_vimrc( /etv文件中配置 (在最后添加)
let g:AutoOpenWinManager=1 //就在这里赋值,在winmanager.vim中就不再写这句话了
- let g:NERDTree_title="[NERDTree]" //这个是必须的, 否则下一句就会因找不到插件而报很多的错
- let g:winManagerWindowLayout="NERDTree|TagList" // 这里还是不要加BufExplorer的好
- function! NERDTree_Start()
- exec 'NERDTree'
- endfunction
- function! NERDTree_IsValid()
- return 1
- endfunction
- nmap wm :WMToggle<CR>
( "使用<c-y>和<c-v>来进行复制粘贴:
nmap <C-c> "+y
nmap <C-v> "+gp )
那么这里winManager会有一个小bug,就是开启的时候会出现一个空白页。如果需要去清除掉。
第二步: 在winManager.vim中,
如果是自动启动那么需要一个在vimManager.vim中最后加一段代码如下:
- "set auto open Winmanager
- if g:AutoOpenWinManager
- " "NERDTree放置在左边配置方式
- autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd q
- " "NERDTree放置在右边配置方式
- " "autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w|q
- endif
如果不是自动启动:
在winManager.vin中将ToggleWindowsManager修改为如下即可:
- function! <SID>ToggleWindowsManager()
- if IsWinManagerVisible()
- call s:CloseWindowsManager()
- else
- call s:StartWindowsManager()
- "exe 'q' //就加这一句话就可以了
- end
- endfunction
----------------------------------------- 如果实在是不行, 就按两次wm, 或之间将中间的空白窗口用q命令关闭也可以!
c.vim的使用:
在c-support的Templates/templates下配置用户信息, 配置插件的使用style为default=c, 还是cpp
使用方法是: 以\开头, (在normal, insert模式下有效), 然后接着输入命令类型: \s=statement ,如if语句, do语句, for语句等,
\i=idioms 表示成语,俗语,方言,主要是\im, \if等等, c++的命令以\+开头...
:: 输入\后, 要及时地输入后续的命令字符, 不能间隔得过久, 否则这种 operator模式就不生效