Hello, I can't figure out the syntax to search for a certain string and then
comment out that line. I know you can have multiple commands on a single
line, but I can't figure it out. As an example I have a "file" with the
following contents:
line 1 and stuff
line 2 contains my_string
line 2 and stuff
Now I want to vi the "file" and comment out the line containing "my_string"
by running the following commands:
vi file #to start editing "file"
/my_string #to search for the line I want to comment, containing
"my_string"
I# #to append a comment (#) to the beginning of the
current line
:wq #to write and quit
I should be able to string all the above commands together separated by a
pipe:
vi -c "/my_string | I# | :wq" file
You're passing command-line (Ex) commands to vim, not normal-mode
commands, so you can do this using ex commands instead:
vi -c "/my_string/s/^/#/" -c "wq" file.txt
Or, if you want to comment all instances of it:
vi -c "g/my_string/s/^/#/" -c "wq" file.txt
or even just do it in sed:
sed -iBAK '/my_string/s/^/#/' file.txt
-tim
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php