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/gOR
:%s/FindMe/ReplaceME/gExamples
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/gTask: Find and Replace with Confirmation
Find a word called 'UNIX' and replace with 'Linux', but ask for confirmation first, enter::%s/UNIX/Linux/gcTask: Find and Replace Whole Word Only
Find whole words exactly matching 'UNIX' to 'Linux'; and ask for confirmation too::%s/\<UNIX\>/Linux/gcTask: Case Insensitive Find and Replace
Find 'UNIX' (match UNIX, unix, UnIx, Unix and so on) and replace with 'Linux'::%s/unix/Linux/giSame command with confirmation:
:%s/unix/Linux/gicTask: Case sensitive Find and Replace
Find each 'UNIX' and replace with 'bar'::%s/UNIX/bar/gISame command with confirmation:
:%s/UNIX/bar/gIcHow 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/gNOTE: You need to prefix % the substitute command to make changes on all lines:
:%s/UNIX/Linux/gHow Do I Replace All Lines Between line 100 and line 250?
:{START-n},{END-n}s/word1/word2/gFind 'UNIX' and replace with 'Linux' all lines between line 100 and line 250, enter:
:100,200s/UNIX/Linux/gOR
:100,200s/UNIX/Linux/gc
No comments:
Post a Comment