2011-11-10 25 views
5

我想知道他们在另一个文件中。假设我想猛拉线的这些嵌段:选择在Vim的代码不相交块为粘贴而

组块1:

require 'abstract_controller/collector' 
require 'active_support/core_ext/hash/reverse_merge' 
require 'active_support/core_ext/array/extract_options' 

块2:

module ActionMailer #:nodoc: 
     class Collector 
     include AbstractController::Collector 
     attr_reader :responses 

     def initialize(context, &block) 
      @context = context 
      @responses = [] 
      @default_render = block 
     end 

组块3:

 def custom(mime, options={}) 
      options.reverse_merge!(:content_type => mime.to_s) 
      @context.freeze_formats([mime.to_sym]) 
      options[:body] = block_given? ? yield : @default_render.call 
      @responses << options 
     end 
     end 
    end 

这些线不形成一个连续的线组,他们是分开的。所以为了达到我想要的,我必须用3个步骤来抽取这些块,我觉得这很烦人。因为我不得不猛拉,切换缓冲区,放置,切换缓冲区,切开,切换缓冲区,放...等等...

那么,有没有办法更有效地做到这一点?

回答

13

使用寄存器追加模式:

  • 直观地选择前三行,"ay
  • 直观地选择未来10线,"Ay(注意是大写字母)
  • 直观地选择块3,"Ay
  • 转到其他缓冲区,"ap

你喜欢登记吗? This answer is more in-depth

+0

非常好!谢谢! – flyer88