vi /vim-related Linux commands Note: To use vim tool/ Editor, we must install the command: sudo apt-get install vim How to open a file?
vi file_name ==> to open the fileEx: vi narendra.log / vi narendra.txt
How to modify a file's content? Open the file & (press insert / i ) to make modifications to that file, Do the modifications / add new content to the file, Then press (Esc button) then type(:wq! ) to save the file with modifications.
Directly how to go particular line a file? vi <filename> +13 To go for a particular line(13 / 72) while opening the file with vi editor
If you don't know the file name exactly but if you remember the file name half, then you can open that file using vi *half file name* Ex: vi *105*
How to move all the files at a time a particular Directory use the * symbol (* means all)
Ex: If you move all files to another directory /destination path.
mv <space> * <space> Destination_path
or
mv <space> Source_path/* <space> Destination_path
How to set line numbers in a file?
Esc :set nu or Esc :set number ==> command will set line numbers for your code
Esc :set nonu or Esc :set nonumber ==> command will remove line numbers for your code
How to copy multiple lines in a file?
<Number>yy ==> To copy the Number of lines in a file
Example: yy ==> To copy single line in file
4yy ==> To copy 4 lines in a file
p ==> to paste copied lines at once
3p ==> to paste copied lines 3 times
How to perform undo in vi editor?
u ==> undo (undo any number of previous actions)
How to delete multiple lines in a file?
<Number>dd ==> To delete the Number of lines in a file
Example: dd ==> To delete a single line (where your cursor is present)
3dd ==> To delete 3 lines from the cursor position
How to delete from a specific line to a specific line in a file without opening it.
command: sed <space> -i <space> 'starting line number, ending line numberd' <space> file_name
d means delete
Example : sed -i '567,670d' test_Cfm3Util_5.py
How to Search a particular word or content in a file? /pattern — Search forward for "pattern."/(forward slash)
/<word> *** make sure that word is case sensitive ***
after that, use lower case n to search downwards from the current cursor position (Repeat the search in the same direction)after that, use Upper case N to search downwards from the current cursor position (Repeat the search in the opposite direction.)?pattern — Search backwards for "pattern."
<Number> Shift + < ==> To move the Number of lines towards the left-hand side of a file
Example: Shift + < ==> To move a single line towards the left-hand side of the file
4 Shift + < ==> To move the Number of lines towards the left-hand side of the file
<Number> Shift + > ==> To move the Number of lines towards right-hand side of a file
Example: Shift + > ==> To move a single line towards right-hand side of the file
4 Shift + > ==> To move the Number of lines towards the right-hand side of the file
Esc: set paste then paste your content by using p (to paste precisely how the user copied content with indentation)
How to Replace a string ( single / multiple occurrences) in a file?
vi /vim-related Linux commands
Note: To use vim tool/ Editor, we must install the command: sudo apt-get install vim
How to open a file?vi file_name ==> to open the file
Ex: vi narendra.log / vi narendra.txt
How to modify a file's content?
Open the file & (press insert / i ) to make modifications to that file,
Do the modifications / add new content to the file, Then
press (Esc button) then type(:wq! ) to save the file with modifications.
Directly how to go particular line a file?
vi <filename> +13 To go for a particular line(13 / 72) while opening the file with vi editor
If you don't know the file name exactly but if you remember the file name half,
then you can open that file using vi *half file name* Ex: vi *105*
How to move all the files at a time a particular Directory
use the * symbol (* means all)
Ex: If you move all files to another directory /destination path.
mv <space> * <space> Destination_path
or
mv <space> Source_path/* <space> Destination_path
How to set line numbers in a file?
Esc :set nu or Esc :set number ==> command will set line numbers for your code
Esc :set nonu or Esc :set nonumber ==> command will remove line numbers for your code
How to copy multiple lines in a file?
<Number>yy ==> To copy the Number of lines in a file
Example: yy ==> To copy single line in file
4yy ==> To copy 4 lines in a file
p ==> to paste copied lines at once
3p ==> to paste copied lines 3 times
Ex: If you move all files to another directory /destination path.
mv <space> * <space> Destination_path
or
mv <space> Source_path/* <space> Destination_path
How to set line numbers in a file?
Esc :set nu or Esc :set number ==> command will set line numbers for your code
Esc :set nonu or Esc :set nonumber ==> command will remove line numbers for your code
How to copy multiple lines in a file?
<Number>yy ==> To copy the Number of lines in a file
Example: yy ==> To copy single line in file
4yy ==> To copy 4 lines in a file
p ==> to paste copied lines at once
3p ==> to paste copied lines 3 times
How to perform undo in vi editor?
u ==> undo (undo any number of previous actions)
How to delete multiple lines in a file?
<Number>dd ==> To delete the Number of lines in a file
Example: dd ==> To delete a single line (where your cursor is present)
3dd ==> To delete 3 lines from the cursor position
How to delete from a specific line to a specific line in a file without opening it.
command: sed <space> -i <space> 'starting line number, ending line numberd' <space> file_name
d means delete
Example : sed -i '567,670d' test_Cfm3Util_5.py
How to Search a particular word or content in a file?
/pattern — Search forward for "pattern."
/(forward slash)
/<word> *** make sure that word is case sensitive ***
after that, use lower case n to search downwards from the current cursor position (Repeat the search in the same direction)
/<word> *** make sure that word is case sensitive ***
after that, use lower case n to search downwards from the current cursor position (Repeat the search in the same direction)
after that, use Upper case N to search downwards from the current cursor position (Repeat the search in the opposite direction.)
?pattern — Search backwards for "pattern."
Example: Shift + < ==> To move a single line towards the left-hand side of the file
4 Shift + < ==> To move the Number of lines towards the left-hand side of the file
<Number> Shift + > ==> To move the Number of lines towards right-hand side of a file
Example: Shift + > ==> To move a single line towards right-hand side of the file
4 Shift + > ==> To move the Number of lines towards the right-hand side of the file
Esc: set paste then paste your content by using p (to paste precisely how the user copied content with indentation)
How to Replace a string ( single / multiple occurrences) in a file?
:s/old/new/
— Replace the first occurrence of "old" with "new" on the current line.:s/old/new/g
— Replace all occurrences of "old" with "new" on the current line.:%s/old/new/g
— Replace all occurrences of "old" with "new" in the entire file.
Request: If you find this information useful, please provide your valuable comments.
:s/old/new/
— Replace the first occurrence of "old" with "new" on the current line.:s/old/new/g
— Replace all occurrences of "old" with "new" on the current line.:%s/old/new/g
— Replace all occurrences of "old" with "new" in the entire file.
Request: If you find this information useful, please provide your valuable comments.
Optional Part
How to delete lines in vi editor or vim editor in linu
How to delete lines in vi editor or vim editor in linu
Delete a single line in vi editor
The command to perform the deletion is dd, which is pressing the letter ‘d’ in quick succession twice. It is just like double-clicking.
- Go to the line that you want to delete in the editor
- Press the ESC key. (This is to make sure that you are in the command mode)
- Press dd to delete the line
Delete multiple lines in vi editor
If you know how many lines you want to delete ahead of time, then deleting multiple lines is just as easy as deleting a single line. You will prefix the dd command with the number of lines you want to remove.
- Go to the first line that you want to delete
- Press the ESC key
- Press the number of lines you want to delete, followed by dd (eg. 4dd or 25dd)
The lines that you want to remove should be in succession or consecutive.
Delete lines in a range in vi editor
You can delete lines with in a range, if you know the start and end line numbers. This is a similar case to the one we mentioned in the previous section. The general syntax for deleting a range of lines is:
:[start number],[end number]d
So, to delete all lines between the lines number 111 and 234, you will
- Hit ESC key
- type :111,234d
- Hit Enter
Delete all lines in vi editor
You can use the same syntax to delete all lines in the file.
There are other ways to empty or truncate a file if you want to, but if you are already in the editor, then this will work just as well.
- Hit ESC key
- type :1,$d
- Hit Enter
The $ character denotes the last line in the file. So the above command will delete lines starting with the first line and ending with the last line.
delete all lines before the current line
Another variation of the range is to delete the lines before the cursor or the current line in the editor. The dot (.) character denotes the current line in the editor.
- Hit ESC key
- type :1,.-1d
- Hit Enter
The above command will remove all lines starting with the first line till the line before the current line.
Delete all lines after the current line
To delete lines after the current line, you can use the dot (.) to denote the current line and dollar ($) to denote the last line.
- Hit ESC key
- type :.+1,$d
- Hit Enter
Delete lines that match a pattern in vi editor
You can also do a search and delete, if you want to delete lines that contain certain words or character sequences. So, if you want to delete all lines in the file that contain the word ‘saloon‘, then
- Hit ESC key
- type :g/saloon/d
- Hit Enter
Delete lines that do not match the pattern
If you want to delete that do not match a specific pattern, then you will need to negate the match before deleting. So, to delete lines that do not have the word ‘saloon’, you will
- Hit ESC key
- type :v/saloon/d
- Hit Enter
Delete all blank lines in a file
To delete all blank lines in a file, you can use a variation of the pattern matching.
- Hit ESC key
- type :g/^$/d
- Hit Enter
Pattern matching in vi editor is a very powerful tool. If you make yourself familiar with the pattern matching commands in vi, then you can use it for all the various different text manipulation that you will come across.
Request: If you find this information useful, please provide your valuable comments.