Home > Article > System Tutorial > Vim Editing Tips: Designed for Advanced Users
Introduction | There is no doubt that Vim is a very powerful text editor. The vast number of features it offers means that it is virtually impossible to learn and remember everything Vim has to offer. But we can at least keep learning simple ways to get things done, so that our experience with the editor will get better over time. |
This article is part of a series of articles on the Vim User Guide:
Please keep in mind that some of the Vim editor tips we will discuss in this article are aimed at advanced users.
Note: If you are new to Vim, you can first read our getting started guide. For those of you who have already used the Vim editor, I am sure that the Vim shortcut key cheat sheet will be very helpful to you. If you are already an experienced user, you may be interested in some tips for experienced users.
Please note that most of the techniques mentioned in the article are explained in a simple, easy-to-understand coding environment, because they are indeed practical in software development. But that doesn't mean that ordinary users (non-programmers, who don't use Vim as a general text editor) can't use it in their work.
1. Set specific variables for the fileSometimes, in a particular file, you may want to replace the entered tab character with a space, or you may want to indent the source code file with two spaces, even if the editor's default indentation is four spaces .
Basically we are talking about file-specific changes here. Vim provides this feature that allows you to change specific settings for a specific file. This feature is called "Modeline".
For example, if you want to replace each input tab character with a space, then you only need to add the following pattern lines to the first or last few lines of the file:
# vim: set expandtab:
If you want to change the default indentation from 4 spaces to 2 spaces, you can add the following pattern line to the source file:
// vim: noai:ts=2:sw=2
When using model lines, please remember the following important points:
For more information, please read the official documentation of this feature.
2. Keyword completionWhen you start writing more and more complex code or start editing on a large source file, you will encounter some variable names. Sometimes, it's not easy to remember all the variable names, so when you need to enter a variable name, you usually copy it from where it has already been used.
Fortunately, with Vim you only need to enter a few starting letters of the variable. In 'insert mode', press Ctrl n or Ctrl p to get a list of matching keywords. Ctrl n is used to insert the next matching word; Ctrl p gives a list of previously matched keywords.
The picture below is a demonstration of this feature:
As the screenshot above clearly shows, words contained in other source files will also appear in the list.
3. SearchSuppose you are debugging code, and one of the tasks you need to do is to quickly view all the occurrences of a variable in a file. A common method is to exit 'insert mode', enter the /[variable name] command, press Enter, then return to 'insert mode', using n and p to navigate between keywords.
There is nothing wrong with the method mentioned above, but there is a simpler and faster way to complete such a search. To use this method, you first need to exit ‘insert mode’ and then move the cursor under the word/variable you want to search for, which is not time-consuming. Next, you just need to press Shift *.
Repeat this and the editor will take you to find all the places in the file where this word/variable is used.
in conclusionAlthough aimed at advanced users, the techniques discussed in the article are not difficult to understand and relatively easy to use. If you have a certain foundation, you can benefit a lot from it. Needless to say, with any new feature or concept, you need to practice these skills frequently to turn them into a habit.
The above is the detailed content of Vim Editing Tips: Designed for Advanced Users. For more information, please follow other related articles on the PHP Chinese website!