Home » Questions » Computers [ Ask a new question ]

How to add a command in vim editor?

How to add a command in vim editor?

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

Asked by: Guest | Views: 246
Total answers/comments: 2
bert [Entry]

"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.

Put that line in your ~/.vimrc (minus the inital : of course) and it will be defined every time you start vim. Also, use %:t to make reference to the file being edited (writing ! gcc %:t gets replaced by ! gcc foo.c).

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

"Add a user defined vi editor command:

This will make it so that when the user types :Legend in normal mode, a block of text is added under the cursor.

Step 1: Put this line into a file named ~/legend_header.txt`

this text will be added

Step 2: Put this command into your ~/.vimrc file (if the file doesn't exist, create it):

""The following command puts the contents of ~/legend_header.txt
""under the cursor when the user types "":Legend"" in normal mode.
command Legend :r ~/legend_header.txt

Step 3: Restart vi for the changes to take effect. You're done.

Test it

Step 1: Open a new file in vi. Be in the default ""normal mode"" in vi. Type :Legend

Step 2: The contents of ~/legend_header.txt should be added where the cursor is."