Aus Eclipse stammend und immer wieder zum Duplizieren von Zeilen verwendet, ist es ziemlich seltsam herauszufinden, dass Xcode keine solche Funktion hat. Oder doch?
Ich weiß, dass es möglich ist, die systemweiten Tastenkombinationen zu ändern, aber das ist nicht das, wonach ich suche.
xcode
line
duplicate-data
Sommer
quelle
quelle
Antworten:
Der springende Punkt ist NICHT, die Verknüpfungen
Cmd-C
/ zu verwendenCmd-V
. Ich habe das gleiche Problem von IntelliJ, und es ist eine große Zeitersparnis, Zeilen nur mit zu duplizieren und mitCmd-D
ihnen zu löschenCmd-Y
.Es nervt mich seitdem. Es sieht jedoch so aus, als hätte jemand anderes eine Lösung gefunden , die funktioniert.
Kurz gesagt, erstellen Sie eine Datei
~/Library/KeyBindings/PBKeyBinding.dict
mit dem folgenden Inhalt und starten Sie Xcode neu.Dadurch werden zwei Verknüpfungen erstellt: Ctrl- Shift- Kzum Löschen der aktuellen Zeile und Ctrl- Shift- Dzum Duplizieren der aktuellen Zeile. Bitte beachten Sie, dass dies nur funktioniert, wenn Sie KEINE in Xcode festgelegte benutzerdefinierte Schlüsselbindung verwenden. Wechseln Sie zu "XCode Default" und die Dinge sollten funktionieren. Getestet auf XCode 3.2 auf Snow Leopard.
Weitere Informationen zu Mac OS X-Tastenkombinationen: http://funkworks.blogspot.it/2013/03/republishing-of-wwwerasetotheleftcompos.html
quelle
Duplicate
Befehl (inEdit -> Duplicate
) scheint "immer" ausgegraut zu sein (und nicht zum Duplizieren von Zeilen gedacht).So löschen Sie eine Zeile : Ctrl-A Gehen Sie zum Zeilenanfang, dann Ctrl-K Löschen und ein anderes Mal Ctrl-K Entfernen der leeren Zeile. (Ich verwende Xcode nicht sehr oft, aber ich bin daran in Emacs und anderen Texteingaben mit Emacs-ähnlichen Bindungen gewöhnt, und es scheint auch in Xcode zu funktionieren.)
Und um eine Zeile zu duplizieren : Ich kenne nicht viele Programme, die einen Befehl dafür haben, aber normalerweise verwende ich einfach Kopieren + Einfügen - in Xcode ist es CUA-ähnlich: Ctrl+A um zum Zeilenanfang zu gelangen, Shift+↓ um auszuwählen it, Befehl + Czum Kopieren und Befehl + * Vzum zweimaligen Einfügen (einmal Überschreiben der Zeile und einmal Anhängen).
(von einer Person, die ständig Text eingibt und bearbeitet, so oft in verschiedenen Programmen, und gelegentlich sauer ist, sich mit einem dummen Widget ablenken zu müssen, während sie eine kleine Korrektur in einer Texteingabe vornimmt, dass sie es einfach nicht vermeiden kann, sich an diese Sequenzen zu erinnern und Gewohnheiten)
quelle
Löschen Sie eine Zeile wie eclipse CTRL+ D(getestet mit Xcode 4.5.1):
Ändern Sie zunächst diese Rechte:
Öffnen Sie
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
mit Xcode selbst und fügen Sie diesen neuen Eintrag hinzu:Starten Sie Xcode neu und öffnen Sie Xcode> Einstellungen> Tastenkombinationen. Suchen Sie Ihr Makro und definieren Sie einen Shortkey:
quelle
Ich habe die Lösung für Schlüsselbindungen ausprobiert, aber ich konnte sie nicht zum Laufen bringen. Das Bearbeiten meiner XCode-Tastenkombinationen funktioniert jedoch wie ein Zauber. So habe ich es gemacht.
Diese Lösung ändert den Inhalt der Zwischenablage nicht!
Öffnen Sie die XCode-Tastenkombinationen:
Im Dialogfeld "Benutzerskripte bearbeiten":
Doppelte Aufstellung:
Doppelte Zeile nach unten:
quelle
OK, ich hatte das für eine Weile arbeiten und dann brach es plötzlich. Jetzt habe ich hier verschiedene Beiträge zusammengefasst und eine Lösung gefunden, die für XCode 6.3.1 funktioniert.
Gehe
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/
mit Finder.Suchen Sie den Ordner mit dem Namen Ressourcen. Klicken Sie mit der rechten Maustaste darauf, drücken Sie auf Informationen abrufen, entsperren Sie die Freigabe- und Berechtigungseinstellung (durch Drücken der Sperre) und setzen Sie sie für alle auf Lesen und Schreiben.
Geben Sie den Ordner ein und suchen Sie die Datei IDETextKeyBindingSet.plist. Klicken Sie mit der rechten Maustaste darauf, drücken Sie auf Informationen abrufen, entsperren Sie die Freigabe- und Berechtigungseinstellung (durch Drücken der Sperre) und setzen Sie sie für alle auf Lesen und Schreiben.
Öffnen Sie die Datei mit XCode (Standard)
Suchen Sie nach Löschungen, klicken Sie mit der rechten Maustaste und fügen Sie eine neue Zeile hinzu. Nennen Sie es zum Beispiel Zeile löschen. Geben Sie im Wertefeld Folgendes ein :
selectLine:, deleteBackward:
. (Dies kann auch für doppelte Linie erfolgen:selectLine:,copy:,moveToEndOfLine:,insertNewline:,paste:,deleteBackward:
)quelle
Da die Implementierung von Xcode 4 mithilfe von Tastenkombinationen schwierig ist, habe ich auf Keyboard Maestro zurückgegriffen ( Quickeys sollten ebenfalls gut funktionieren, sind jedoch nicht vollständig Lion-kompatibel). Zum Beispiel ist hier meine Keyboard Maestro-Verknüpfung (gebunden an ⌘-⇧-D):
http://bit.ly/thC6yf
quelle
Befolgen Sie zum Löschen der Zeile in Xcode 10.1 die Schritte des folgenden Screenshots, um eine Tastenkombination hinzuzufügen.
quelle
Ich weiß, dass dieser Thread ziemlich alt ist, aber ich habe mit BetterTouchTool eine andere Lösung gefunden . Sie können die Sequenz Ctrl+ A, Ctrl+ K, Ctrl+ Kin einer Verknüpfung ausführen , indem Sie sie in BTT folgendermaßen konfigurieren:
(Verwenden Sie die Schaltfläche Zusätzliche Aktion anhängen, um die zweite und dritte Verknüpfung anzuhängen.)
PS: Kommt von Eclipse, wobei Cmd+ die DZeile ^^ ist
quelle
Dreifacher Klick, um die gesamte Zeile auszuwählen, Befehl-c zum Auswählen und Befehl-v zweimal zum Duplizieren. Es ist keine Xcode-Funktion, sondern nur ein Teil des Betriebssystems.
quelle
Verwenden Sie Benutzerskripte.
Es gibt noch Skripte zum Verschieben und Löschen von Zeilen. Sie müssen Schlüsselbindungen für diese Skripte definieren (Menü Skripte -> Benutzerskripte bearbeiten ... unter xCode 3.2).
Um eine Zeile zu duplizieren, müssen Sie ein eigenes Skript erstellen. Aber es ist sehr einfach! Duplizieren Sie das Skript "Zeile nach unten verschieben" und entfernen Sie die Zeile, in der der ausgewählte Text gelöscht wird:
quelle
Es gibt eine Lösung für XCode4 Linie Vervielfältigung über hier
Ich habe der Liste auch das Löschen von Zeilen hinzugefügt:
<key>Remove Line</key> <string>selectLine:, deleteBackward:</string>
quelle
Wir sind auf Xcode 9.0 und die Tastenkombinationen funktionieren immer noch nicht. Seufzer.
Ich fand dieses Wesentliche sehr hilfreich, daher habe ich es hier erneut veröffentlicht, um später darauf zurückgreifen zu können:
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
</dict>
<key>Duplication</key> <dict> <key>Duplicate Current Line</key> <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string> <key>Duplicate Lines</key> <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string> <key>Delete Line</key> <string>selectLine:, deleteBackward:</string> </dict>
quelle
Xcode muss nicht geändert werden. Sie können einfach die Xcode-Erweiterung Linex verwenden
quelle
Die Lösung von damien.flament funktioniert hervorragend und Sie müssen möglicherweise die Ausgabe auf "Ausgabe verwerfen " setzen (siehe Abbildung unten)
PS: Ich weiß nicht, wie ich seine Antwort kommentieren soll.
quelle
Schließen Sie wie oben beschrieben XCode und fügen Sie im Abschnitt Folgendes nach
~/Library/Application Support/Xcode/Key Bindings/ <user>.pbxkeys
innen ein:<dict>
<key>text</key>
Starten Sie XCode und genießen Sie CTRL- SHIFT- Dund CTRL- SHIFT- K.
Wenn Sie CTRL- Dund CTRL- möchten K, verwenden Sie stattdessen
^d
und^k
in Schlüsseldefinitionen. Stellen Sie sicher, dass die Datei keine doppelten Schlüsselbindungen enthält.Funktioniert gut mit XCode 3.2
quelle
Dies ist mit BetterTouchTool möglich . CMD + D dupliziert eine Zeile. Erstellen Sie eine neue Verknüpfung wie folgt:
Verwenden Sie die Schaltfläche Zusätzliche Aktion anhängen, um die zweite und dritte Verknüpfung anzuhängen
quelle
Wenn Sie Ihre Xcode-Tastenkombinationen bereits angepasst haben, müssen Sie die Datei bearbeiten :
~/Library/Application Support/Xcode/Key Bindings/<user>.pbxkeys
. Fügen Sie einfach die beiden Arrays (oben beschrieben) zumRoot/text
Wörterbuch hinzu.quelle
Drei Schritte zum Löschen der aktuellen Zeile (siehe zu lang, aber sehr schnell: D)
Cmd+ →: zum Zeilenende gehen
Cmd+ Delete: zum Zeilenanfang
Deletelöschen: leere Zeile löschen
quelle
Für Xcode 6.1 gehen Sie zu Xcode> Einstellungen> Tastenkombinationen> Text und es gibt "Löschen bis zum Zeilenende" und weisen Sie einen gewünschten Schlüssel zu.
quelle
Das XCodePlus-Plugin zum Löschen von Zeilen ist ein XCode, der dies für Sie erledigt. Es wurde mit Alcatraz Package Manager vorinstalliert ...
https://github.com/payliu/XcodePlus
quelle
Ab Xcode 9 gibt es noch keine integrierte Möglichkeit, Zeilen zu duplizieren. Benutzerdefinierte Tastenkombinationen scheinen Probleme zu haben.
Update: Xcode 10.0 Beta 6 (10L232m) ist das gleiche.
quelle
Gehen Sie zu dieser Adresse:
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet
Kopieren Sie dann die Datei IDETextKeyBindingSet.plist an eine beliebige Stelle, öffnen Sie die kopierte Datei und fügen Sie sie ein
selectLine:, copy:, paste:, paste: Geben Sie wie in diesem Bild die Bildbeschreibung hier ein, speichern Sie sie und ersetzen Sie die kopierte Datei unter dieser Adresse /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet
Starten Sie dann xcode neu, öffnen Sie die xcode-Einstellungen, gehen Sie zur Registerkarte Tastenkombination, suchen Sie nach doppelten Zeilen (angepasst) und definieren Sie einen kurzen Schlüssel dafür wie im Bild unten
[1]: https://i.stack.imgur.com/UTeZu.png
quelle