
Ich versuche, in Vim etwas Objective-C zu programmieren, und was mir in Xcode fehlt, ist die Möglichkeit, die linke passende Klammer automatisch einzufügen.
Angenommen, ich habe folgenden Text:
NSString *string = [NSString alloc] init
und ich füge ']' am Ende der Zeile ein, dann möchte ich, dass es wie folgt vervollständigt wird:
NSString *string = [[NSString alloc] init]
Irgendwelche Ideen?
Antwort1
Das ist eine nette Funktion.
Außer der VerwendungUmgeben, ich kenne keine genaue Lösung.
Bei Surround beginnend mit dem Cursor auf dem t
von init
in
NSString *string = [NSString alloc] init
:
v
um in den visuellen Modus zu wechselnF[
um alles bis zum ersten auszuwählen[
s]
um es zu umgeben mit[]
vF[s]
kann auf lange Sicht mühsam sein. In Ermangelung einer besseren/intelligenteren Lösung können Sie eine einfache Zuordnung wie die folgende vornehmen:
inoremap ]] vF[s]
Antwort2
Dieses Pluginkönnte das sein, wonach Sie suchen. Ich habe es selbst noch nicht richtig ausprobiert, aber es scheint zu funktionieren.
Wo befindet sich beispielsweise
|
der Cursor:"foo|" becomes "[foo |]" after ] is pressed. "foo bar|" becomes "[foo bar]|" "foo: bar|" becomes "foo: [bar |]" "foo bar: baz|" becomes "[foo bar: baz]|"
Bestimmte nützliche Schlüsselwörter werden auch intelligent umschlossen