Me pregunto si soy capaz de hacer esto en Vim: CódigoSeleccionar trozos inconexos de código en Vim para tirar de
muestra:
require 'abstract_controller/collector'
require 'active_support/core_ext/hash/reverse_merge'
require 'active_support/core_ext/array/extract_options'
require 'IDONTWANTTHISLINETOBEINCLUDEDINMYYANKREGISTER'
require 'IDONTWANTTHISLINETOBEINCLUDEDINMYYANKREGISTER'
module ActionMailer #:nodoc:
class Collector
include AbstractController::Collector
attr_reader :responses
def initialize(context, &block)
@context = context
@responses = []
@default_render = block
end
def any(*args, &block)
options = args.extract_options!
raise "You have to supply at least one format" if args.empty?
args.each { |type| send(type, options.dup, &block) }
end
alias :all :any
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
Ahora supongamos que quiero dar un tirón a sólo algunas líneas y poner ellos en otro archivo. Supongamos que quiero dar un tirón a estos bloque de líneas:
Chunk 1:
require 'abstract_controller/collector'
require 'active_support/core_ext/hash/reverse_merge'
require 'active_support/core_ext/array/extract_options'
Chunk 2:
module ActionMailer #:nodoc:
class Collector
include AbstractController::Collector
attr_reader :responses
def initialize(context, &block)
@context = context
@responses = []
@default_render = block
end
Chunk 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
no forman Estas líneas un grupo de línea continua, están separados. Entonces, para lograr lo que quiero, tengo que tirar de estos bloques en 3 pasos, lo que me resulta bastante molesto. Como tengo que tirar, cambiar el buffer, poner, cambiar buffer, yank, cambiar buffer, poner ... etc ...
Entonces, ¿hay alguna forma de hacer esto más eficientemente (en un solo paso)?
¡Excelente! ¡Gracias! – flyer88