Frage

von Eclipse-Kommen und verwendet wurde, um die Zeit zu duplizieren Linien alle, es ist ziemlich seltsam Erkenntnis heraus, dass Xcode keine solche Funktion. Oder geht das?

Ich weiß, es ist möglich, die systemweite Tastenbelegungen zu ändern, aber das ist nicht das, was ich nach.

War es hilfreich?

Lösung

Der springende Punkt ist nicht die Cmd-C / Cmd-V Verknüpfungen zu verwenden. Ich habe das gleiche Problem von IntelliJ kommen und in der Lage, gerade Linien zu duplizieren mit Cmd-D und löschen Sie sie mit Cmd-Y ist eine große Zeitersparnis.

Es ist schon nervt mich seitdem. Aber es sieht aus wie jemand anderes eine Lösung gefunden hat, die funktioniert.

Kurz gesagt, eine Datei ~/Library/KeyBindings/PBKeyBinding.dict mit folgendem Inhalt erstellen und Xcode neu starten.

{
    "^$K" = (
        "selectLine:",
        "cut:"
    );

    "^$D" = (
        "selectLine:",
        "copy:",
        "moveToEndOfLine:",
        "insertNewline:",
        "paste:",
        "deleteBackward:"
    );
}

Dies wird zwei Verknüpfungen erstellen: Strg - Umschalttaste - K für die aktuelle Zeile löschen und Strg - Umschalttaste - D für die aktuelle Zeile duplizieren. Bitte beachten Sie, dass dies nur Arbeit, wenn Sie nicht mit einem benutzerdefinierten Schlüssel in Xcode verbindlichen. Wechseln Sie zu „XCode Default“ und die Dinge funktionieren sollte. Getestet auf XCode 3.2 auf Snow Leopard.

Weitere Informationen über Mac OS X-Tastenbelegungen: http: // funkworks .blogspot.it / 2013/03 / republishing-of-wwwerasetotheleftcompos.html

Andere Tipps

eine Zeile löschen : Strg - A , um zum Anfang der Zeile zu gehen, dann < strong> Strg - K , um es zu löschen, und ein anderes Mal Strg - K die leere Zeile zu entfernen. (I Xcode nicht sehr oft, aber ich bin es gewohnt, zu dem in Emacs und anderen Texteingaben mit Emacs ähnlichen Bindungen, und es scheint auch in Xcode zu arbeiten.)

Und eine Linie zu duplizieren : Ich weiß nicht, von vielen Programmen, die einen Befehl dafür haben, aber in der Regel nur ich Copy + Paste - in Xcode es ist CUA-like: Strg + A , um den Anfang der Zeile zu gehen, Umschalttaste + , um es auszuwählen, Befehl + C zu kopieren und Befehl + * V zweimal einzufügen ( sobald die Zeile überschrieben und einmal, um es Anhängen).

(von einer Person, die Typen und Änderungen Text die ganze Zeit, so oft in verschiedenen Programmen und wird mit einem stummen Widget an, die ablenken mir gelegentlich sauer, während eine kleine Korrektur in einer Texteingabe machen, dass er einfach nicht vermeiden Erinnerung an diese Sequenzen und Gewohnheiten)

Löschen einer Zeile wie Eclipse CTRL + D (getestet auf Xcode 4.5.1):

Zunächst einmal ändern, um diese Rechte:

sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/

Öffnen /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist mit Xcode selbst und fügen Sie diesen neuen Eintrag:

deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:

eingeben Bild Beschreibung hier

Starten Sie Xcode und offene Xcode> Einstellungen> KeyBindings. Finden Sie Ihren Makro und definiert eine shortkey:

eingeben Bild Beschreibung hier

habe ich versucht, die Tastenbelegungen Lösung, aber es konnte ich es nicht zu arbeiten. meine XCode Tastenbelegungen jedoch Bearbeitung wirkt wie ein Zauber. Hier ist, wie ich es gemacht.

Diese Lösung ändert nicht den Inhalt der Zwischenablage!

Öffnen Sie die XCode Tastenbelegungen:

alt text

Im Edit User Scripts Dialog:

  1. Duplizieren Sie die "Move Line-Down" Skript und benennen Sie es
  2. Duplizieren Sie die "Move Linie Down.scpt" Datei, benennen Sie das Skript, wählen Sie die Datei über (Doppelklick) in Skript-Editor
  3. das Skript bearbeiten (Öffnet "Applescript-Editor") und entfernen Sie den "löschen (siehe Ziffern StartLine- durch endLine)" Passage.
  4. Wenn Sie wollen XCode nicht neu starten, Sie scheinen zu haben, um das Skript zu entfernen und erneut hinzufügen. Seien Sie sicher, dass Sie „Output“ auf „Discard Output“, sonst haben Sie eine „(null)“ in der Quelldatei
  5. ich die Skripte ein wenig mehr leicht modifiziert, um die richtige Richtung haben gewählt:

Duplizieren Line Up:

using terms from application "Xcode"
tell first text document
    set {startLine, endLine} to selected paragraph range

    if startLine > 1 then
        set theText to (paragraphs startLine through endLine)
        set theText to (theText as string)
        make new paragraph at beginning of paragraph (startLine) with data theText
        set selected paragraph range to {endLine + 1, endLine + endLine - startLine + 1}
    else
        beep 1
    end if
end tell
end using terms from

Doppelte Zeile nach unten:

using terms from application "Xcode"
tell first text document
    set {startLine, endLine} to selected paragraph range
    if endLine < (count paragraphs) then
        set theText to (paragraphs startLine through endLine)
        set theText to (theText as string)
        (* delete (paragraphs startLine through endLine) *)
        make new paragraph at beginning of paragraph (endLine + 1) with data theText
        set selected paragraph range to {startLine, endLine}
    else
        beep 1
    end if
end tell
end using terms from

alt text

Wie Xcode 4 dies schwierig macht, mit Tastenbelegungen zu implementieren, habe ich Zuflucht Keyboard Maestro ( quickeys sollte gut arbeiten, aber es ist nicht vollständig Lion kompatibel). Für zum Beispiel hier ist mein Keyboard Maestro Abkürzung (gebunden an ⌘-⇧-D):

http://bit.ly/thC6yf

OK, also musste ich dies für eine Weile zu arbeiten und dann plötzlich brach es. Jetzt habe ich aus verschiedenen Beiträgen kombinierte hier und fand eine Lösung, die für XCode 6.3.1 funktioniert.

  1. Gehen Sie mit Finder /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/.

  2. finden Sie die Ordner Ressourcen. Klicken Sie mit der rechten, drücken Sie Get Info, schalte den Austausch und das Festlegen von Berechtigungen (durch die Sperre zu drücken) und legen Sie es für alle lesen und schreiben.

  3. den Ordner eingeben und die Datei IDETextKeyBindingSet.plist finden. Klicken Sie mit der rechten, drücken Sie Get Info, schalte den Austausch und das Festlegen von Berechtigungen (durch die Sperre zu drücken) und legen Sie es für alle lesen und schreiben.

  4. Sie die Datei mit XCode (Default) Öffnen

  5. Finden Löschungen, rechts klicken und eine neue Zeile hinzuzufügen. Nennen Sie es zum Beispiel Zeile löschen. Im Wertefeld: selectLine:, deleteBackward:. (Dies kann auch für doppelte Linie erfolgen: selectLine:,copy:,moveToEndOfLine:,insertNewline:,paste:,deleteBackward:)

    go
  1. Start XCode, zur Sprachwahl / keybindings und die Suche nach Delete-Linie. Set-Verknüpfung. Genießen Sie.

Ich weiß, dass dieser Thread ist ziemlich alt, aber ich fand eine andere Lösung mit Better , können Sie die execute Ctrl+A, Ctrl+K, Ctrl+K Sequenz in einer Verknüpfung von in BTT wie folgt zu konfigurieren:

eingeben Bild Beschreibung hier

(Verwenden Sie die zusätzliche Aktionstaste Bringen Sie die zweite und dritte Verknüpfung anhängen)

PS: von Eclipse-kommend, wo Cmd+D Löschleitung ist ^^

Dreifachklick die ganze Zeile, Befehl c auszuwählen auszuwählen und Befehl v zweimal es zu duplizieren. Es ist keine Xcode Funktion, es ist nur ein Teil des OS.

Mit Benutzerskripten.

Es gibt Skripte Linien noch verschieben und zu löschen. Sie müssen Schlüssel bindet für diese Skripte definieren (Menü Scripts -> Benutzer bearbeiten Scripts ... , unter xCode 3.2).

Um doppelte Linie, müssen Sie Ihr eigenes Skript machen. Aber es ist sehr einfach! Duplizieren Sie die "Move Line-Down" Skript und entfernen Sie die Zeile, die Lösch ausgewählten Text:

delete (paragraphs startLine through endLine)

Es gibt eine Lösung für XCode4 Linie Vervielfältigung über hier

Ich habe auch hinzugefügt Zeile Löschen der plist:

<key>Remove Line</key> <string>selectLine:, deleteBackward:</string>

Keine Notwendigkeit Xcode zu ändern. Sie können nur die Xcode-Erweiterung verwenden Linex

Die Lösung von damien.flament funktioniert gut und Sie können einstellen müssen Ausgang auf "verwerfen Output" siehe das Bild unten

Userscripts Einstellung

P. S:. Ich weiß nicht, wie seine Antwort auf einen Kommentar

Wie oben gesagt, in der Nähe XCode und Insert folgende innen ~/Library/Application Support/Xcode/Key Bindings/ <user>.pbxkeys in <dict> Abschnitt <key>text</key>:

    <key>^D</key>                                                                                                      
    <array>                                                                                                            
        <string>moveToLeftEndOfLine:</string>                                                                               
        <string>deleteToEndOfLine:</string>                                                                                      
    </array>                                                                                                           
    <key>^K</key>                                                                                                      
    <array>                                                                                                            
       <string>selectLine:</string>                                                                               
       <string>copy:</string>                                                                                     
       <string>moveToEndOfLine:</string>                                                                          
       <string>insertNewline:</string>                                                                            
       <string>paste:</string>                                                                                    
       <string>deleteBackward:</string>                                                                           
    </array>

Starten Sie XCode und genießen STRG - SHIFT - D und STRG - SHIFT - K
. Wenn Sie möchten, STRG - D und STRG - K , sondern ^d und ^k in Schlüsseldefinitionen statt. Stellen Sie sicher, es gibt keine doppelten Tastenbelegungen in der Datei.

Adaequat für mich mit XCode 3.2

Dies ist möglich, indem Better. CMD + D eine Zeile duplizieren. Erstellen Sie eine neue Verknüpfung wie folgt aus:

Mit den Zusatzaktionstaste Bringen Sie die zweite und dritte Abkürzung

anhängen

So löschen Sie Zeile in Xcode 10.1, folgen Sie bitte den Schritten unten Screenshot einer Tastenkombination hinzuzufügen.

Wenn Sie bereits Ihre Xcode Tastenbelegungen angepasst haben, werden Sie die Datei bearbeiten müssen: ~/Library/Application Support/Xcode/Key Bindings/<user>.pbxkeys. Fügen Sie dazu die zwei Felder (wie oben beschrieben) mit dem Root/text Wörterbuch.

Drei Schritt zum aktuellen Zeile löscht (siehe zu lang, aber nicht sehr schnell: D)

Cmd + : Umzug nach Ende der Zeile
Cmd + Löschen : Löschen der Zeile
beginnen Löschen : löschen leere Zeile

Wir sind auf Xcode 9.0 und die keybindings arbeiten immer noch nicht. Seufz.

Ich fand dieser Kern sehr hilfreich, so dass es hier für die Zukunft reposting:

  1. Öffnen /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
  2. Fügen Sie die folgenden XML-Code-Schnipsel in diese Datei direkt über dem Boden </dict>
  3. Gehen Sie zu Xcode Präferenzen -> Key Bindings -> Registerkarte Text -> Blättern Sie, bis Sie sehen Duplizierung
  4. Klicken Sie auf
  5. auf Duplizieren aktuelle Zeile, fügen Sie eine Verknüpfung für sie, zum Beispiel. Cmnd + D (lösen alle doppelten Bindungen)
  6. Öffnen Xcode

<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>

Für Xcode 6.1 bis Xcode bekam> Einstellungen> KeyBindings> Text Und es wird „Löschen von Zeile zu Ende“ und vergeben Sie einen Schlüssel, den Sie möchten.

XCodePlus Linie Plugin löschen, ist ein XCode, die dies für Sie tut. Es kam mit Alcatraz Paket-Manager vorinstalliert ...

https://github.com/payliu/XcodePlus

Noch gibt es keine integrierte Möglichkeit Linien zu duplizieren, wie von Xcode 9. Und benutzerdefinierte Tastenbelegungen scheinen Probleme zu haben.

Update:. Xcode 10.0 Beta 6 (10L232m) die gleiche

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top