Vi and Vim Editor: 5 Awesome Examples For Automatic Word Completion Using Ctrl-X Magic

Filed Under: Linux    7 Comments

 

Free eBook - Linux 101 Hacks. Get your copy now.

Vim Word Completion Tips and Tricks
Photo courtesy of Dominik Gwarek

This is a guest post written by SathiyaMoorthy

You can perform automatic word completion in Vim using Ctrl-x in insert or append mode. By typing the first few characters of a word you can get the whole word either from a dictionary, or a thesaurus, or even the words that are already present on the file that you are editing.

This article explains how to perform following operations with examples and screen shots:

  1. Word / pattern completion
  2. Line completion
  3. Dictionary word completion
  4. File name completion
  5. Filling up words with similar meaning (Thesaurus word completion).


All the completions are related, you can use the same keys for navigating between several choices shown, and choose the appropriate one by pressing enter.

This article is part of the ongoing Vi / Vim Tips and Tricks series.

1. Word / Pattern Completion in Vi / Vim Using Ctrl-x Ctrl-n

You can use one of the following Vim shortcut keys to choose the existing words on the file.


  • CTRL-x CTRL-n : Word completion – forward
  • CTRL-x CTRL-p : Word completion – backward
Vim Word Completion Using Control-X

Fig: Keyword completion in Vi / Vim using Ctrl-x Ctrl-n


Typical usage for programmers and administrators:

  • Complete an existing word in the file, without retyping it.
  • Complete a variable name or a function name on your program or shell-scripts.

2. Line Completion in Vim using Ctrl-x Ctrl-l

If you want to insert an existing line, type the first few words/characters of the line, and then press the Vim shortcut keys “Ctrl+x Ctrl+l”, which will display all the lines matching that patten. Note: The second control character is a lowercase L.

Vim Line completion using Control-X

Fig: Vim Whole line completion using Ctrl-x Ctrl-l


Typical usage for a programmers and administrators:

  • Repeat an existing line quickly in your file.
  • Automatically fill first line of the function definition, when the function is already declared elsewhere in the same file.

3. File Name Completion Using Ctrl-x Ctrl-f

Insert the name of the file that resides anywhere on the Linux system using the short cut key “Ctrl+x Ctrl+f”.

Vim Filename Completion Using Control X

Fig: Vim File name completion using Ctrl-x Ctrl-f

Typical usage: When you give the path of the file name as a reference inside a document.

4. Thesaurus Word Completion

Using this feature you can choose alternate words with the same meaning for the word that you’ve just typed. Our previous article explains about the thesaurus features for your Vim editor.

5. Dictionary Word Completion Using Ctrl-x Ctrl-k

Enable the dictionary in Vim by adding the following line to ~/.vimrc.

$ cat ~/.vimrc
set dictionary+=/usr/share/dict/words

This is a great feature when you stumble for the correct spelling for a word that you are typing. After typing the first few characters, Press the Vim short cut key Ctrl-x Ctrl-k to display the matching dictionary words.

Vim Dictionary Word Completion Using Control X

Fig: Vim Dictionary word completion using Ctrl-x Ctrl-k

Final Note:

  • Verify whether autocmd is enabled in Vi / Vim – Execute :version from vi / vim. If autocommand feature is enabled, it will display +autocmd.
  • Insert Mode Completion help – Execute :help ins-completion from vi / vim, to get quick help on insert mode completion features.

Recommended Reading

Learning the Vi and Vim Editors, by Arnold Robbins. I’m a command-line junkie. So, naturally I’m a huge fan of Vi and Vim editors. Several years back, when I wrote lot of C code on Linux, I used to carry the Vi editor pocket reference with me all the times. Even if you’ve been using Vi and Vim Editors for several years and have not read this book, please do yourself a favor and read this book. You’ll be amazed with the capabilities of Vim editor.

 

This article is part of the ongoing Vi / Vim Tips and Tricks series. Please subscribe to TheGeekStuff and don’t miss any future Vi and Vim editor tips and tricks.


This article was written by SathiyaMoorthy, developer of EPQA. Sathiya got impressed by the 15 Examples To Master Linux Command Line History article on this blog and became a regular reader and contributor. The Geek Stuff welcomes your tips and guest articles.

If you liked this article, please bookmark it on delicious and Stumble it.





Tags: , , , , , , ,

7 Responses to “Vi and Vim Editor: 5 Awesome Examples For Automatic Word Completion Using Ctrl-X Magic”

  1. WOW……………….Very Informative……

  2. very useful tips… Thanks a lot

  3. great!!
    I learn another useful tip!!

  4. Wow, I didn’t know about c-x c-f. That’s really useful. Thanks for sharing!

Discussion Area - Leave a Comment





Enter your email address:

RSS
RSS Subscribe

Sponsors


Password Dragon


Free e-Book


Download Free eBook
Linux 101 Hacks Book
"These useful hacks are concise, well written and easy to read. Well done - I will recommend this eBook to my students."

Prof. Dr. Fritz Mehner
(Author of several Vim plugins)

Categories


pointer Linux pointer Database
pointer Hardware pointer Security
pointer Productivity pointer Java
pointer Software pointer Windows
pointer General



Popular Posts



12 Amazing Linux Books


  • 1. Sed and Awk
  • 2. Learning the Vi and Vim Editors
  • 3. Bash Cookbook
  • 4. SSH, The Secure Shell
  • 5. Essential System Administration
  • 6. Linux Server Hacks, Volume One
  • 7. DNS and BIND
  • 8. Understanding the Linux Kernel
  • 9. Linux Cookbook
  • 10. Linux Firewalls
  • 11. Linux Administration Handbook
  • 12. Beginning Ubuntu Linux
  • Read full review of these 12 books

Community
About TheGeekStuff
Ramesh

My name is Ramesh Natarajan. I will be posting instruction guides, how-to, troubleshooting tips and tricks on Linux, database, hardware, security and web. My focus is to write articles that will either teach you or help you resolve a problem. Read more