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:
- 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.
- 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.
Vim 101 Hacks, by Ramesh Natarajan. 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 read all available Vim editor tips and tricks. Based on my Vim editor experience, I’ve written Vim 101 Hacks eBook that contains 101 practical examples on various advanced Vim features that will make you fast and productive in the Vim editor. 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.