Vi and Vim Editor: 5 Awesome Examples For Automatic Word Completion Using Ctrl-X Magic
Free eBook - Linux 101 Hacks. Get your copy now.
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:
- Word / pattern completion
- Line completion
- Dictionary word completion
- File name completion
- 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
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.
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”.
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.
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.
![]() |
Related Posts |
Tags: vi command, vi tips, Vi Vim Tips and Tricks, vim command, Vim Macro Examples, Vim Macros, Vim Map, Vim Mark

















WOW……………….Very Informative……
very useful tips… Thanks a lot
great!!
I learn another useful tip!!
Wow, I didn’t know about c-x c-f. That’s really useful. Thanks for sharing!