Giter Club home page Giter Club logo

vim's Introduction

jeffy-vim使用

阅读.vimrc文件 && 查看帮助文档:

  • 打开VIM后使用命令":e ~/.vimrc"可以打开配置文件,就会发现有一些行和其它行颜色不一样, 这些行就是folder,使用"zj"命令就可以移动到最近的folder,可以使用"zo"打开folder,也 可以使用"zc"关闭folder。

  • 在你眼前的第一句是"set nocompatible",也许你不懂set和nocompatible什么意思,请不要惊 慌并且随时记得用"help set"或"help nocompatible"来打开它们的帮助文档。对于其它你不懂 的命令也可以使用同样的方法来查看帮助文档。

  • 显然,这些帮助文档都是英文的,但我相信对于想学习Vim的你来说这点英文不是问题。当然, 想看中文的帮助文档也有,不过得你自己去弄。

修改配色方案:

  • 本配置文件使用vividchalk的配色方案,如果你对配色不满意,可以修改这个文件 vimfiles/bundle/vividchalk/color/vividchalk.vim。修改方法请使用命令 ":help highlight"查看详细帮助文档。

快捷键映射:

  • vimrc里面的Key Bindings折叠里定义了最常用的快捷键定义,如果你有其它需要定义的键映射 可以添加到这里。

插件使用:

  • jeffy-vim的配置使用pathogen来管理插件,每个插件在vimfiles/bundle下都有一个目录,大部分 的插件在相应的doc目录下都有对应的帮助文档,少部分在相应的plugin里面对应插件的开始部分 就是帮助文档。你也可以添加你自己想要的插件到vimfiles/bundle下。

  • 首先你要做的就是,找一个不太大的C项目,此项目可以有几十个文件,一层一层的子目录。进入 到项目的根目录下,启动VIM。按照下面的文档一步一步做,你就可以对jeffy-vim的功能有个大致 了解。其它关于Vim的操作请参考其它文档。

  • 按",jc"会生成项目的ctags和cscope的数据库。此命令会在当前目录下生成project.vim的目录, 所有的项目数据库文件会放到这个目录下。以后打开Vim后(根目录和子目录都可以),就会自动 加载项目数据库,源文件修改后可以用",ju"来更新项目数据库,如果项目太大的话你可能就得等 一会了。

  • 按",f"会在VIM的右边打开一个文件浏览器窗口。再按一下",f"会关闭这个窗口。你可以在这个窗口里 面上下左右移动选择文件,按回车打开文件。按"?"可以打开和关闭帮助菜单。详细的使用方法请 参考插件NERD_tree。

  • 如果你的项目文件及子目录太多,你又不知道你想打开的文件在哪里,此时你就可以按",e"并输入你 想打开的文件的名字(可以使用正则表达式)再按Tab进行选择,回车就可以打开。

  • 现在你已经打开了一个C文件,按",t"将会在Vim的左边打开一个Taglist窗口,这个窗口里面包含了 C文件里面的定义,如struct,typedef,全局变量,函数等。使用"Ctrl-h"将光标移动到左边的窗口, 上下选择tag按回车定位到tag的定义处。再按",t"就会关闭Taglist窗口。详细的使用方法请参考 插件Taglist。

  • 你可能会发现,你定义的函数、类型、宏用不同的颜色高亮起来了,这个是用一个叫jeffy-plugins 的插件来实现的。该插件是我实现的,虽然远没有SourceInsight那样强大,但有总比没有好了, 将就着用吧^-^。当你定义了新类型后,Vim不会立即给你高亮起来,你得用",ju"更新数据库。 该插件还不完善,如果在使用的过程中给你带来了不便,请见谅!

  • 将光标放在某个宏上,按"Ctrl+]就会跳到宏的定义处,按"Ctrl+o"就会跳回来。更详细的 使用方法可以使用命令":help tagsrch.txt"查看帮助文档。

  • cscope也可以用来在代码间跳来跳去,但有些功能是ctags所没有的,比如查找某个函数被哪些函数调用 过、查找某个文件被哪些文件引用过等等,在.vimrc里面定义了使用cscope的快捷键,比如将光标放在 某个函数上使用命令",sc"就可以查看这个函数被哪些函数调用过,使用命令",sg"就可以跳转到函数的 定义处。更多的使用方法请使用命令":help if_cscop.txt"查看帮助文档。

  • 如果你想调试,你得先安装gdb。在Gvim下有插件完美支持Vim下的gdb调试,但终端下的Vim只有当Vim 编译的时候打了vimgdb的补丁才能用gdb来调试。如果你的Vim在编译的时候打了此补丁,你可以通过 来调试。详细的调试命令请使用":help vimgdb"打开帮助文档。

  • 现在你可能打开了很多个文件,如果你想查看当前打开了哪些文件,可以使用命令",be"在当前窗口中 打开buffer浏览器,上下选择文件回车就可以打开。更多的使用方法请使用":help bufexplorer.txt" 查看帮助文档。

  • 打开一个C文件,输入几个字符,除非你运气实在不好,否则你就会看到一个弹出菜单。里面会根据你 输入的内容提示补全。用上下或"Ctrl-p","Ctrl-n"进行选择。在结构体变量后输入"."或"->"的时候 也会根据结构成员补全。更多的使用方法请使用":help acp.txt"和":help omnicppcomplete.txt" 查看帮助文档。

  • 打开一个C文件,在一个函数实现体中调用另外一个函数。当你输入完这个被调用的函数名,在输入左括 号的时候在Vim的下方就会显示函数的原型。详细帮助文档请参考echofunc插件。

  • 打开一个文件,在一行的开头输入main再按"Tab"键试试,main函数就这样出来了,在main函数里面输入 for再按几个"Tab"看看会出现什么效果。更多的代码自动完成请查看文件 "vimfiles/bundle/snipMate/snippets/c.snippets",当然你也可以自己定义代码自动完成,定义方法 请使用":help snipMate.txt",请在vimrc里面修改自己的个人信息 g:snip_author,g:snip_mail,g:snip_company.

  • 此时你可以关闭Vim,下次打开Vim的时候按",r"会打开一个MRU窗口,这个窗口里面记录了最近打开的文件, 上下选择文件回车打开。如果没有你想打开的文件可以按"q"关闭窗口。详细使用方法请参考插件MRU。

vim's People

Contributors

dejin avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.