未加星标

How to perform search operations in Vim

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

While we've alreadycoveredseveral features of Vim until now, the editor's feature-set is so vast that no matter how much you learn, it doesn't seem to be enough. So continuing with our Vim tutorial series, in this write-up, we will discuss the various search techniques that the editor offers.

But before we do that, please note that all the examples, commands, and instructions mentioned in this tutorial have been tested on Ubuntu 14.04, and the Vim version we've used is 7.4.

Basic search operations in Vim

If you have opened a file in the Vim editor, and want to search a particular word or pattern, the first step that you have to do is to come out of the Insert mode (if you that mode is currently active). Once that is done, type ' / ' (without quotes) followed by the word/pattern that you want to search.

For example, if the word you want to search is 'linux', here's how it will appear at the bottom ofyour Vim window:


How to perform search operations in Vim

After this, just hit the Enter key and you'll see that Vim will place the cursor on the first line (containing the word) that it encounters beginning from the line where the cursor was when you were in Insert mode. If you've just opened a file and began searching then the search operation will start from the very first line of the file.

To move on to the next line containing the searched word, press the ' n ' key. When you've traversed through all the lines containing the searched pattern, pressing the ' n ' key again will make the editor to repeat the search, and you'll be back to the first searched occurrenceagain.


How to perform search operations in Vim

While traversing the searched occurrences, if you want to go back to the previous occurrence, press ' N ' (shift+n). Also, it's worth mentioning that at any point in time, you can type ' ggn ' to jump to the first match, or ' GN ' to jump to the last.

In caseyou are at the bottom of a file, and want to search backwards, then instead of initiating the search with / , use ? . Here's an example:


How to perform search operations in Vim
Customize your search 1. Search highlighting

While jumping from one occurrenceof the searched word/pattern to another is easy using 'n' or 'N,' things become more user-friendly if the searched occurrences gethighlighted. For example, see the screenshot below:


How to perform search operations in Vim

This can be made possible by setting the 'hlsearch' variable, something which you can do by writing the following in the normal/command mode:

:set hlsearch
How to perform search operations in Vim
2. Making searchcase-insensitive

By default, the search you do in Vim is case-sensitive. This means that if I am searching for 'linux', then 'Linux' won't get matched. However, if that's not what you are looking for, then you can make the search case-insensitive using the following command:

:set ignorecase

So after I set the 'ignorecase' variable using the aforementioned command, and searched for 'linux', the occurrencesof 'LINUX' were also highlighted:


How to perform search operations in Vim
3. Smartcase search

Vim also offers you a feature using which you can ask the editor to be case-sensitive only when the searched word/pattern contains an uppercase character. For this youneed tofirst set the ' ignorecase' variable and then set the 'smartcase' variable.

:set ignorecase :set smartcase

For example, if a file contains both 'LINUX' and 'linux,' and smartcase is on, then only occurrencesof the word LINUX will be searched if you search using '/LINUX'. However, if the search is '/linux', then all the occurrenceswill get matched irrespective of whether they are in caps or not.

4. Incremental search

Just like, for example, Google, which shows searchresultsas you type your query (updating them with each alphabet you type), Vim also provides incrementalsearch. To access the feature, you'll have to executethe following command before you start searching:

:set incsearch Some other cool Vim search tips/tricks

There are several other search-related tips tricks that you may find useful.

To start off, if you want to search for aword that's there in the file, but you don't want to type it, you can just bring your cursor below it and press * (or shift+8 ). And if you want to launch a partial search (for example: search both ' in' and 'term in al'), then you can bring the cursor under the word (in our example, in ) and search by pressing g* (press 'g' once and then keep pressing *) on the keyboard.

Note: Press # or g# in case you want to search backwards.

Next up, if you want, you can get a list of all occurrencesof the searched word/pattern along with the respective lines and line numbers at one place. This can be done by type [I after you've initiated thesearch. Following is an example of how the results are grouped and displayed at the bottom of Vim window:
How to perform search operations in Vim

Moving on, as you might already know, the Vim search wraps by default, meaning after reaching the end of the file (or to the last occurrenceof the searched word), pressing "search next" brings the cursor to the first occurrenceagain. If you want, you can disable this search wrapping by running the following command:

:set nowrapscan

To enable wrap scan again, use the following command:

:set wrapscan

Finally, suppose you want to make a slight change to an already existing word in the file, and then perform the search operation, then one way is to type / followed by that word. But if the word in long or complicated, then it may take time to type it.

An easy way out is to bring the cursor under the word you want to slightly edit, then press '/' and then press Ctrl-r followed by Ctrl-w. The word under the cursor will not only get copied, it will be pasted after '/' as well, allowing you to easily edit it and go ahead with the search operation.

Formore tricks (including how you can use your mouse to make things easier in Vim), head to the official Vim documentation .

Conclusion

Of course, nobody expects you to mug up all the tips/tricks mentioned here. What you can do is, start with the one you think will be the most beneficial to you, and practice it regularly. Once it gets embedded in your memory and becomes a habit, come here again, and see which one you should learn next.

Do you know any more such tricks? Want to share it with everyone in the HTF community? Then leave it as a comment below.

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: LinuxUbuntu
分页:12
转载请注明
本文标题:How to perform search operations in Vim
本站链接:http://www.codesec.net/view/532384.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(36)