Friday, September 17, 2010

NOTE:  Current  blog do not talks about basics of Vim..Visit Homepage of vim (full of wealth).
 Most of modern Editor can parse your code and can :
  1. Find symbol
  2. Find definition
  3. Find Functions
  4. Open Files

You may spend money and buy a paid expensive editor , May be that single expensive editor can not give you all what expert Programmer may need when dealing with big code base.My experience says all expensive editor consume huge memory and eats up all CPU, are deadly slow.If there is a bug in expensive editor , you can not fix it as no source with you,i feel pity if you still want to use a paid editor.

Here i present you power of VIM with support of Ctag, CScope and OmniCppComplete

You may do :

  1. Find this C symbol
  2. Find this definition
  3. Find functions called by this function
  4. Find functions calling this function
  5. Find this text string
  6. Find this egrep pattern
  7. Find this file
  8. Find files #including this file
Any many more that i don't know yet,left for you to discover more :)

A sample Screen shot :

Ctags :Read Home Page for More Detail

# It is capable of generating tags for all types of C/C++ language tags, including all of the following:
# class names
# macro definitions
# enumeration names
# enumerators
# function definitions
# function prototypes/declarations
# class, interface, struct, and union data members
# structure names
# typedefs
# union names
# variables (definitions and external declarations)

CScope :Read Home Page for Detail

# Allows searching code for:
# all references to a symbol
# global definitions
# functions called by a function
# functions calling a function
# text string
# regular expression pattern
# a file
# files including a file
# Curses based (text screen)
# An information database is generated for faster searches and later reference
# The fuzzy parser supports C, but is flexible enough to be useful for C++
and Java, and for use as a generalized 'grep database' (use it to browse
large text documents!)
# Has a command line mode for inclusion in scripts or as a backend to a GUI/frontend
# Runs on all flavors of Unix, plus most monopoly-controlled operating systems.

PS. There may be a lot of mistake in my blog, Your feedback will make it complete :)