On 03/12/2016 06:22 PM, Gary Johnson wrote:
On 2016-03-11, Yang Luo wrote:
I'm a vim newbie.
for example this code block:
///////////////////////////////////////////////////
wire [3:0] w_buff_length;//0--15
always @(posedge clk or negedge rst_n)
if (!rst_n) begin
   for(i=0; i< w_buff_length; i=i+1)s_data_buff[i] <= #1 {BIT_WIDTH{1'd0}};
end
else begin
   s_data_buff[0] <= #1 i_data;
   for(i=0; i< w_buff_length-1;i=i+1)s_data_buff[i+1] <= #1 s_data_buff[i];
end
/////////////////////////////////////////////////
I want to replace w_buff_length with BUFF_LENGTH. I know hit *,
and do :%s//BUFF_LENGTH/g can get it? Is there another way do not
into command mode?
What I usually do in such cases, using your example, is:

1.  Move cursor over w_buff_length
2.  Hit *
3.  Type cwBUFF_LENGTH
     and hit Esc
4.  Hit n
     to find the next match
5.  Hit .
     to repeat the cw command
6.  Repeat from step #4 until done

I usually keep my right index finger on the 'n' and my right ring
finger on the '.' and just alternate those two keys, sometimes
skipping the '.' if I don't want to change that particular match.

Regards,
Gary

You could also use this mapping (taken from vim tip 464):

:nnoremap <Leader>s :%s/\<<C-r><C-w>\>//g<Left><Left>

I know I use it all the time.

--
--
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

--- You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to