NSAS Wiki

Network System Access Solutions

User Tools

Site Tools


Sidebar

Contact

linux:vim

Search and Replace

Both vi and vim text editor comes with substitute command for finding and replacing text. Syntax

The syntax is as follows:

:%s/WORD-To-Find-HERE/Replace-Word-Here/g

OR

:%s/FindMe/ReplaceME/g

Examples

The substitute command can be used as per your requirements. Task: VI / Vim Basic Find and Replace

To find each occurrence of 'UNIX', and replace it with 'Linux', enter (press ESC, type : and following command):

:%s/UNIX/Linux/g

Task: Find and Replace with Confirmation

Find a word called 'UNIX' and replace with 'Linux', but ask for confirmation first, enter:

:%s/UNIX/Linux/gc

Task: Find and Replace Whole Word Only

Find whole words exactly matching 'UNIX' to 'Linux'; and ask for confirmation too:

:%s/\/Linux/gc

Task: Case Insensitive Find and Replace

Find 'UNIX' (match UNIX, unix, UnIx, Unix and so on) and replace with 'Linux':

:%s/unix/Linux/gi

Same command with confirmation:

:%s/unix/Linux/gic

Task: Case sensitive Find and Replace

Find each 'UNIX' and replace with 'bar':

:%s/UNIX/bar/gI

Same command with confirmation:

:%s/UNIX/bar/gIc

How Do I Replace In the Current Line Only?

Find 'UNIX' and replace with 'Linux' in the current line only (note % is removed from substitute command):

:s/UNIX/Linux/g

NOTE: You need to prefix % the substitute command to make changes on all lines:

:%s/UNIX/Linux/g

How Do I Replace All Lines Between line 100 and line 250?

:{START-n},{END-n}s/word1/word2/g

Find 'UNIX' and replace with 'Linux' all lines between line 100 and line 250, enter:

:100,200s/UNIX/Linux/g

OR

:100,200s/UNIX/Linux/gc

Capitalize all characters on a line:

:s/\(.*\)/\U\1\E/

Capitalize the first character of all words on a line:

:s/\<[a-z]/\u&/g
linux/vim.txt · Last modified: 2013/05/23 11:36 (external edit)