Mi chiedo se sarò in grado di fare questo in Vim: CodiceSelezionare pezzi disgiunti di codice in Vim per tirando
Esempio:
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
Ora supponiamo che io voglio tirare solo alcune linee e mettere li in un altro file. Supponiamo che io voglio tirare questi blocco di righe:
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
Queste linee non formano un gruppo di linee continue, sono separate. Quindi, per ottenere ciò che voglio, devo tirare questi blocchi in 3 passaggi, che trovo abbastanza fastidioso. Perché devo strattonare, cambiare buffer, mettere, passare buffer, strattonare, passare buffer, mettere ... così via ...
Quindi, c'è un modo per farlo in modo più efficiente (in un unico passaggio)?
Eccellente! Grazie! – flyer88