Sunday, March 13, 2016

Re: quickly replace in normal mode

在 2016年3月13日星期日 UTC+8上午5:22:04,Gary Johnson写道:
> 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

thanks a lot, it's very effective.

--
--
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 vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: