笔记-使用VIM开发软件项目

来源:互联网 发布:卖zara的淘宝外贸原单 编辑:程序博客网 时间:2024/05/01 22:01

使用VIM开发软件项目

July Wind
05/20/2007

  • 说明
  • session and viminfo
  • vimrc
  • 保存项目相关配置
  • TAG
    • VIM常用命令
    • taglist插件
  • 文件浏览和缓冲区浏览
    • 文件浏览
    • 缓冲区浏览
  • lookupfile插件
  • 在标签页中打开文件(For Windows VIM only)
  • 颜色配置
  • quickfix

说明

本文是学习Easwy的专栏中关于VIM使用方面文章的笔记。原文链接:http://blog.csdn.net/easwy

session and viminfo

参考文档:http://blog.csdn.net/easwy/archive/2007/02/16/1511021.aspx

目的:自动为你恢复到你上次退出的环境,恢复窗口布局、所打开的文件,甚至是上次的设置。

相关命令

  " Save session and viminfo
:set sessionoptions-=curdir '在session option中去掉curdir
:set sessionoptions+=sesdir '在session option中加入sesdir
:mksession vim70.vim '创建一个会话文件
:wviminfo vim70.viminfo '创建一个viminfo文件

" Restroe session and viminfo
:source ~/src/vim70/src/vim70.vim '载入会话文件
:rviminfo vim70.viminfo '读入viminfo文件

vimrc

下面的例子演示了mapleader, silent 的用法。

  1    "Set mapleader
2 let mapleader = ","
3
4 "Fast reloading of the .vimrc
5 map <silent> <leader>s :source ~/.vimrc<cr>

6 "Fast editing of .vimrc
7 map <silent> <leader>e :e ~/.vimrc<cr>

8 "When .vimrc is edited, reload it
9 autocmd! bufwritepost .vimrc source ~/.vimrc

保存项目相关配置

参考文档 http://blog.csdn.net/easwy/archive/2007/02/27/1515803.aspx

path选项定义了一个目录列表,在使用gf,find,以及CTRL-W f等命令时,如果使用的是相对路径,那么就会在path选项定义的目录列表中查找相应的文件。

保存项目相关的配置,启动VIM时自动加载

  " create workspace.vim in your project directory, which has project configurations
" put the following statements in your _vimrc file
" execute project related configuration in current directory
if filereadable("workspace.vim")
source workspace.vim
endif

TAG

VIM常用命令

  :!ctags -R              "创建tag文件

:tag {ident} "跳转到指定的标签, indet 可以使用正则表达式, 如:tag /start
:tags "显示标签栈
CTRL-] "跳转到当前光标下的标签
CTRL-T "跳到标签栈中较早的标签

taglist插件

Taglist 下载链接 http://www.vim.org/scripts/script.php?script_id=273

参考文档:http://blog.csdn.net/easwy/archive/2007/03/02/1518902.aspx

插件的安装

  • 将插件和文档分别放入plugin和doc目录
  • 生成帮助标签 :helptags $vim/vim70/doc
  • 查看帮助 :help taglist.txt

典型的vimrc配置

    """"""""""""""""""""""""""""""
" Tag list (ctags)
""""""""""""""""""""""""""""""
if MySys() == "windows" "设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = 'ctags'
elseif MySys() == "linux" "设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口

map <silent> <leader>tl :TlistToogle<cr>

按 <F1> 可以获取List窗口的操作命令

文件浏览和缓冲区浏览

参考文档 http://blog.csdn.net/easwy/archive/2007/03/09/1525554.aspx

文件浏览

在VIM 7.0以前,文件浏览功能由explorer.vim插件提供,在VIM 7.0中,这个插件被netrw.vim插件所代替。netrw.vim是VIM的标准插件,它已经伴随VIM发行,不需要安装。

vimrc 配置

    """"""""""""""""""""""""""""""
" netrw setting
""""""""""""""""""""""""""""""
let g:netrw_winsize = 30
nmap <silent> <leader>fe :Sexplore!<cr>

TODO: 如何在另外一个窗口打开制定的文件

缓冲区浏览

VIM命令

  • :ls
  • C-^

BufExplorer插件。BufExplorer插件在此处下载: http://vim.sourceforge.net/scripts/script.php?script_id=42

有一个称为minibufexpl.vim的插件,也可以把缓冲区列表显示出来,这个插件在此处下载: http://vim.sourceforge.net/scripts/script.php?script_id=159

Winmanager插件在这里下载: http://vim.sourceforge.net/scripts/script.php?script_id=95

     """"""""""""""""""""""""""""""
" winManager setting
""""""""""""""""""""""""""""""
let g:winManagerWindowLayout = "BufExplorer,FileExplorer|TagList"
let g:winManagerWidth = 30
let g:defaultExplorer = 0
nmap <C-W><C-F> :FirstExplorerWindow<cr>
nmap <C-W><C-B> :BottomExplorerWindow<cr>
nmap <silent> <leader>wm :WMToggle<cr>

lookupfile插件

参考文档 http://blog.csdn.net/easwy/archive/2007/03/12/1527228.aspx

Lookupfile插件可以在下面的链接下载: http://www.vim.org/scripts/script.php?script_id=1581

Lookupfile插件还需要最新的genutils支持,因此,需要下载genutils: http://www.vim.org/scripts/script.php?script_id=197

在标签页中打开文件(For Windows VIM only)

方法1: Sendto

  "C:/Program Files/Vim/vim70/gvim.exe" -p --remote-tab-silent "%*"

方法2: 修改注册表

  Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT/*/Shell/Edit with Vim]
@="Edit with &Vim"
[HKEY_CLASSES_ROOT/*/Shell/Edit with Vim/command]
@="/"C://Program Files//Vim//vim70//gvim.exe/" -p --remote-tab-silent /"%1/" /"%*/""

颜色配置

参考文档 http://blog.csdn.net/easwy/archive/2007/03/29/1545707.aspx

常用配置命令

  :syntax enable
:colorscheme darkblue

关键词亮显的插件:http://www.vim.org/scripts/script.php?script_id=1238

quickfix

参考文档 http://blog.csdn.net/easwy/archive/2007/04/11/1559986.aspx

Quickfix模式的主要思想是保存一个位置列表,然后提供一系列命令,实现在这个位置列表中跳转。位置列表的产生可以从编译器的编译输出信息中获得,也可以由grep命令的输出信息中获得,我们上篇文章所介绍的cscope命令,也可以产生位置列表信息(

常用命令

  在quickfix模式里经常用到的命令有:

:cc 显示详细错误信息 ( :help :cc )
:cp 跳到上一个错误 ( :help :cp )
:cn 跳到下一个错误 ( :help :cn )
:cl 列出所有错误 ( :help :cl )
:cw 如果有错误列表,则打开quickfix窗口 ( :help :cw )
:col 到前一个旧的错误列表 ( :help :col )
:cnew 到后一个较新的错误列表 ( :help :cnew )

GREP, 查找符号

  • 内部: vimgrep
  • 外部: grep