Tôi tự hỏi nếu tôi có thể làm điều này trong Vim: MãChọn khối rời nhau của mã trong Vim cho giật
mẫu:
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
Bây giờ giả sử tôi muốn yank chỉ một số dòng và đặt chúng trong một tệp khác. Giả sử tôi muốn yank những khối dòng:
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
Những dòng không tạo một nhóm đường liên tục, chúng được tách ra. Vì vậy, để đạt được những gì tôi muốn tôi phải yank các khối trong 3 bước, mà tôi thấy khá khó chịu. Bởi vì tôi phải giật, chuyển đổi bộ đệm, đặt, chuyển đổi bộ đệm, yank, chuyển đổi bộ đệm, đặt ... như vậy ...
Vì vậy, có cách nào để làm điều này hiệu quả hơn (trong một bước)?
Tuyệt vời! Cảm ơn! – flyer88