jemand ein Plugin oder Makro {
Klammern passend zu ersetzen Hat }
mit do
und end
in Vim? Vorzugsweise drehen eine Erklärung einzeiligen wie folgt aus:Ersetzen passende {geschweifte Klammern} mit do/end in Vim (Rubin)
foo.each { |f| f.whatever }
in:
foo.each do |f|
f.whatever
end
ich ein Makro mich für diesen einen Fall machen könnte, aber ich würde etwas, das auch bestehende Multi umgehen konnte Umwandlung -Linie, möglicherweise Blöcke kompliziert, wie:
foo.each { |f|
f.bars.each { |b| b.whatever }
hash = { a: 123, b: 456 }
}
in:
foo.each do |f|
f.bars.each { |b| b.whatever }
hash = { a: 123, b: 456 }
end
Ich habe mir und rails.vim angesehen, und habe auch keinen Weg gefunden.
weiß nicht viel über Rubin. aber warum dein multiline Beispiel (output) nur der outter '{,}' wurde ersetzt, der innere 'f.bars.each {...' nicht? – Kent
Es wäre nett, beide zu unterstützen, aber normalerweise würde ich nicht mehr als eine Ebene gleichzeitig erweitern wollen. Mein Szenario ist, dass ich In-Line-Blöcke für einzelne Anweisungen bevorzuge, aber oft finde ich, dass ich ein oder zwei weitere Statements hinzufügen möchte, und ich möchte den Block dafür erweitern. Ja, ich weiß, ich sollte alles in eine Methode umwandeln. –