If suppose my source code file name is "foo.c". While editing and debugging i always execute this command:-

:!gcc -g foo.c -o foo;gdb foo

Can I add a custom command to Vim such that If i type ":debug" then the above command executes? How do I achieve that?

link|improve this question

feedback

2 Answers

up vote 9 down vote accepted

Yes. Vim documentation, section 40.2, Command-line mappings:

The Vim editor enables you to define your own commands. You execute these commands just like any other Command-line mode command. To define a command, use the ":command" command, as follows:

:command DeleteFirst 1delete

Now when you execute the command ":DeleteFirst" Vim executes ":1delete", which deletes the first line.

Note: User-defined commands must start with a capital letter. You cannot use ":X", ":Next" and ":Print". The underscore cannot be used! You can use digits, but this is discouraged.

Whack the line in your ~/.vimrc (minus the inital : of course) and it will be defined every time you start vim.

If you'd only like it to be defined for the one file, or for certain files, you want an autocommand.

link|improve this answer
feedback

Vim already has support for Makefiles (:make). If you create one for your source, you can specify in it what you want done. Also, through ctags, Vim will be able to iterate through any errors found during compilation.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.