$ sudo apt-get install vim vim-gtk cscope
%(label label-info).vimrc%
set tabstop=4 " 设置tab键的宽度 set shiftwidth=4 " 换行时行间交错使用4个空格 set autoindent " 自动对齐 set backspace=2 " 设置退格键可用 set cindent shiftwidth=4 " 自动缩进4空格 set smartindent " 智能自动缩进 set ai! " 设置自动缩进 set nu! " 显示行号 set showmatch " 显示括号配对情况 set hlsearch " 开启高亮显示结果 set incsearch " 开启实时搜索功能 set nowrapscan " 搜索到文件两端时不重新搜索 "set cursorline " 突出显示当前行 "set hidden " 允许在有未保存的修改时切换缓冲区 "set list " 显示Tab符,使用一高亮竖线代替 syntax enable " 打开语法高亮 syntax on " 开启文件类型侦测 filetype on " filetype indent on " 针对不同的文件类型采用不同的缩进格式 filetype plugin on " 针对不同的文件类型加载对应的插件 set nobackup " 设置无备份文件 set nocompatible " 不使用vi兼容的模式
%(label label-info)Taglist% 标签查看插件
先安装ctags:sudo apt-get install exuberant-ctags 下载:http://www.vim.org/scripts/script.php?script_id=273 安装:解压到 ~/.vim/ 生成帮助标签:helptags ~/.vim/doc(在Vim命令中执行) 启动:TlistToggle(在Vim命令中执行)
%(label label-info)Eclim% 把Eclipse的功能集成到Vim中的插件
参考:http://eclim.org/install.html
%(label label-info)CommandT% 快速打开文件的插件
下载:http://www.vim.org/scripts/download_script.php?src_id=18167 $ rvm install 1.8.7 // 必须使用1.8.7 $ rvm use 1.8.7 $ vim command-t-1.4.vba // :so % $ cd ~/.vim/ruby/command-t $ ruby extconf.rb $ make
%(label label-info)Pathogen% 自动加载插件
@安装@
$ mkdir -p ~/.vim/autoload ~/.vim/bundle $ curl -so ~/.vim/autoload/pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
@$ vim .bashrc@
call pathogen#infect()
@生成bundle目录下插件的帮助文档@
:Helptags
%(label label-info)NERDTree% 文件浏览插件
$ cd ~/.vim/bundle $ git clone https://github.com/scrooloose/nerdtree.git
@:Helptags@ 生成帮助文档
@:help NERD_tree.txt@ 查看帮助文档
插件安装
$ mkdir ~/.vim && cd ~/.vim $ git init $ git add . $ git commit -m 'init' $ git remote add origin git@github.com:linguofeng/vim.git $ git push origin master $ mkdir ~/.vim/bundle $ git submodule add git://github.com/tpope/vim-pathogen.git bundle/vim-pathogen $ vim ~/.vimrc
runtime bundle/vim-pathogen/autoload/pathogen.vim call pathogen#infect()
@bufexplorer@
$ git submodule add https://github.com/vim-scripts/bufexplorer.zip.git bundle/bufexplorer $ git add . $ git commit -m 'install bufexporer plugin'
@生成插件文档@
$ vim >> :Helptags # 启动vim后执行Helptags命令 $ vim ~/.vim/.gitmodules >> [submodule "bundle/vim-pathogen"] >> path = bundle/vim-pathogen >> url = git://github.com/tpope/vim-pathogen.github >> ignore = untracked // 添加此项不提交生成的帮助文件
@升级插件@
$ cd ~/.vim/bundle/xxx && git pull origin master # 更新某个插件 $ cd ~/.vim/ && git submodule foreach git pull origin master # 更新所有插件
@删除插件@
$ cd ~/.vim && git rm bundle/xxx
@同步到github@
$ git add . $ git commit -m '添加插件' $ git push origin master
@同步到另一台电脑@
$ git clone git@github.com:linguofeng/vim.git ~/.vim $ ln -s ~/.vim/vimrc ~/.vimrc $ cd ~/.vim $ git submodule init $ git submodule update
$ sudo apt-get install cscope $ curl -so ~/.vim/bundle/cscope/plugin/cscope_maps.vim http://cscope.sourceforge.net/cscope_maps.vim $ cscope -Rbkq ~/test/vimtest/zombie_game # 此时在zombie_game文件夹中生成cscope.out文件 $ gvim # 启动gvim(下面都是vim命令) :pwd # 查看当前vim的工作目录 :cd ~/workspace # 改变当前vim的工作目录为workspace :cs add ~/test/vimtest/zombie_game/cscope.out ~/test/vimtest/zombie_game # 添加cscope.out到cscope数据库中,对应路径,否则会出现找不到文件的错误。 :cs show # 查看已经连接的数据库 :cs kill cscope.out # 断开已经连接的数据库 :cs f g symbol # 对应快捷键 Ctrl+]
@Ctrl+]@ :进入这个函数
@Ctrl+T@ :返回搜索前的位置
# 切换当前vim工作目录为工程目录 $ cd /path/to/project # 搜索当前目录下所有.h、.c、.cpp文件并生成cscope.files文件列表 $ find . -name '*.h' -o -name '*.c' -o -name '*.cpp' > cscope.files $ cscope -b # 根据cscope.files生成cscope.out数据库文件 $ vim # 在当前工程里启动vim,然后执行下面的命令连接cscope.out数据库,在前面加上的路径是(.) :cs add cscope.out .
range: 范围 1,20 从第1行到20行 % 整个文件 .,$ 从当前行到末尾 1,$ 从第1行到末尾 s: 替换操作 source: 原内容 destination: 目标内容 option: 参数,省略时显替换第一个匹配的词 g: 全局替换 c: 需要确认替换 p: 逐行替换 i: 不区分大小写 e: 不显示error
^M是由 Ctrl-V + Ctrl-M 生成的。
tabstop tab键的宽度 shiftwidth 换行时使用4个空格 expandtab 使用空格替换tab retab 把所有tab替换成tabstop宽度的空格
ctrl + w, h --> 选择左边窗口,存在的话 ctrl + w, j --> 选择下边窗口 ctrl + w, k --> 选择上边窗口 ctrl + w, l --> 选择右边窗口 ctrl + w, w --> 逆时针选择窗口 ctrl + w, s --> 水平拆分窗口 ctrl + w, v --> 垂直拆分窗口 ctrl + w, n --> 新建一个窗口 ctrl + w, q --> 关闭窗口