Duplikat linii Xcode


127

W menu edycji znajduje się Duplicatepolecenie (z domyślnym skrótem D), ale jest ono (jak zauważył Halley ) przeznaczone do powielania w części Interface Builder programu Xcode.

Jak więc ( łatwo ) powielić linię w Xcode 4?


Powiązane pytanie (z działającą odpowiedzią) dla Xcode 3 ... i które nie działa dla Xcode 4.


Dlaczego nie po prostu skopiować i wkleić?

Ponieważ jest to żmudne i pociąga za sobą zbyt wiele ręcznych akrobacji:

albo (1) : przejście do początku wiersza, a następnie naciśnięcie ⇧^E, następnie kopiowanie za pomocą ⌘C, przejście do nowej linii, wyrównanie kursora i na koniec wklejanie za pomocą ⌘V;

lub (2) : ^A(ustaw kursor na początku linii), ^SPACE(ustaw znacznik), ^E(ustaw kursor na koniec linii), ⇧^W( Select to Mark; dostosowany), kopiuj, nowa linia itp.

Jak ujął to Frank Schröder (w powiązanym pytaniu ):

Chodzi o to, aby NIE używać skrótów Cmd-C / Cmd-V.


1
Wybierz linię i skopiuj wkleić?
Dani

1
@Dani, CP to po prostu za dużo pracy (a powielanie linii nie jest czymś, czego potrzeba pojawia się rzadko). :) Zaktualizowałem pytanie.
Blaz

1
Command-D służy do powielania kontroli w programie Interface Builder.
Hailei,

@Halley, dobrze wiedzieć. I czy jest to odpowiednik ⌥-przeciągnięcia myszą (które również kopiuje elementy interfejsu)?
Blaz,

@courteous Myślę, że tak. Sekcja Modifier Keys w disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/… mówi, że „naciśnięcie klawisza Option podczas operacji przeciągania i upuszczania kopiuje wybrane obiekty zamiast je przenosić”.
Hailei,

Odpowiedzi:


173
  1. Przejdź do tego folderu, który zawiera ciemną stronę mocy:

    • Xcode 4.2 lub starszy: /Developer/Library/PrivateFrameworks/IDEKit.framework/Resources
    • Xcode 4.3 lub nowszy: /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources.
  2. Otwórz IDETextKeyBindingSet.plist.

  3. Dodaj nowy słownik i nowy element polecenia, jak na poniższym zrzucie ekranu (nazwij je, jak chcesz): Edycja pliku plist

    To jest: selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:

  4. Zrestartuj Xcode i przejdź do Preferencje - Wiązania klawiszy, wyszukaj swoje polecenie.

  5. Ustaw kombinację klawiszy dla polecenia: Key Bindings

  6. Wreszcie uwolnij moc skrótów klawiszowych w Xcode ... Ciesz się!


3
@MichalStefanow, lokalizacja, którą napisałeś, jest w rzeczywistości tą samą lokalizacją, na którą /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resourceswskazuje alias. W przeciwnym razie z powodzeniem wykonałem kroki Halleya w wersji 4.3.2 ... Proponuję wykonać kopię zapasową oryginalnego pliku, a następnie otworzyć go w samym Xcode (a nie w TextEdit). Ponadto, jeśli chodzi o uprawnienia: zmiana ich (tylko dla samego pliku; rekursja nie jest wymagana) w Finderze działała dobrze.
Blaz

29
Wielkie dzięki! Dla leniwych użytkowników - selectLine :, copy :, moveToEndOfLine :, insertNewline :, paste :, deleteBackward:
Vlad Tsepelev

15
Jeśli twój xCode się zawiesza! Zamknij xCode, otwórz plik w dowolnym edytorze tekstu i dodaj swój słownik: <key>Custom</key> <dict> <key>Duplicate Current Line</key> <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string> </dict>
Vlad Tsepelev.

2
U mnie działa w XCode 4.4.1! Miałem problemy ze zmianą uprawnień (z jakiegoś powodu finder lub chmod 777 i uruchamianie sudo z terminala nie działały). Skopiowałem plik do innego miejsca, zredagowałem go i nadpisałem oryginalny, który działał.
Ixx

2
Jestem programistą android i kiedy zacząłem wypróbowywać ios dev, zdałem sobie sprawę, jak dobre jest studio android (lub idea intellij).
IlyaEremin

90

Zaktualizuj 2020

Działa również na wersjach Xcode: 11.3.1

Działa w wersjach Xcode: 7.1, 7.3, 7.3.1, 8.0, 8.1, 8.2, 8.3, 9.0, 9.1, 9.2, 10.0, 10.1, 10.2.1

Instrukcja

  1. Przyznaj uprawnienia do edycji następujących plików. W większości przypadków system operacyjny nie pozwala na edycję plików.

dla wersji 11.3.1

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

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

poniżej wersji 11.3


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

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/
  1. Edytuj plik, wpisując następujące polecenie: (Otwórz go w wysublimowanym lub edytorze tekstu, jeśli możesz)

dla 11.3.1

open  

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/

dla poniższych wersji

open /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
  1. Dołącz następujące fragmenty kodu XML:
<key>custom</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>

Zrzuty ekranu

wprowadź opis obrazu tutaj

i Zrestartuj Xcode i przejdź do Preferences - Key Bindings, wyszukaj polecenie, które wpisaliśmy (Duplikuj linie i Duplikuj bieżącą linię).

wprowadź opis obrazu tutaj

Otóż ​​to.

Uwaga dla użytkowników z Uniksa: -

sudo chmod 755 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/ 

To działa jak urok! Edytowałem IDETextKeyBindingSet.plisti dodałem powyższy słownik, a następnie zamapowałem klucze w Preferencjach XCode.
Randika Vishman,

3
Oto odpowiedzi, których potrzebują użytkownicy komputerów Mac!
Luca Davanzo

1
Dla XCode 10.1, musiałem użyć następujący ciąg: moveToBeginningOfLine :, deleteToEndOfLine :, Yank :, insertNewline :, setMark :, moveToBeginningOfLine :, selectToMark :, Yank: . Wielkie dzięki dla @tmsimont
marcelosalloum

1
jest to pierwsza rzecz, którą Google zawsze aktualizuje.
newDeveloper

1
To rozwiązanie działa dla mnie, a nie zaakceptowana odpowiedź
khalid

18

Ok, wymyśliłem to:

Wersja dla XCode 11:

selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:
  • nie dotyka schowka
  • działa z wieloma liniami
  • wybiera dodane linie, więc można ich używać wiele razy bez ponownego zaznaczania
  • poprawiony wybór w XCode 11
  • działa lepiej z cofaniem

Ponieważ stosuję tę zmianę po każdej aktualizacji XCode, stworzyłem do tego skrypt. Możliwe, że może spowodować pewne uszkodzenia, ale starałem się, aby był stosunkowo bezpieczny. Tworzy kopię pliku, a następnie zastępuje wiersz jego kopią i dodatkowym poleceniem za pomocą perla. Wymaga zainstalowania XCode w/Applications/Xcode.app

cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist ~/Desktop/IDETextKeyBindingSet.plist; sudo perl -pi -e 's/\<string\>selectWord:\<\/string>/'$'\<string\>selectWord:\<\/string\>\n\t\t\<key\>Duplicate Selection\<\/key\>\n\t\t\<string\>selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:\<\/string>/g' /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

Starsza wersja (nie jestem pewien, czy nowa jest kompatybilna ze starszymi wersjami, więc zatrzymam ją tutaj):

selectParagraph:, delete:, yank:, moveToBeginningOfLine:, setMark:, yank:, moveToBeginningOfLine:, moveLeft:, selectToMark:

i skrypt dla starszej wersji, aby uniknąć ręcznej edycji plików:

cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist ~/Desktop/IDETextKeyBindingSet.plist; sudo perl -pi -e 's/\<string\>selectWord:\<\/string>/'$'\<string\>selectWord:\<\/string\>\n\t\t\<key\>Duplicate Selection\<\/key\>\n\t\t\<string\>selectParagraph:, delete:, yank:, moveToBeginningOfLine:, setMark:, yank:, moveToBeginningOfLine:, moveLeft:, selectToMark:\<\/string>/g' /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

edycja: drobna poprawka edit2: zmieniono na wybór akapitu edit3: dodano wersję dla XCode 11


Naprawdę dziękuję za to, szukając tego połączenia. Może to powielić pojedynczą linię lub wiele linii bez dodawania niechcianych nowych linii, a ctrl-z działa dobrze.
mkeremkeskin

Dzięki, to właśnie jest najbliższe zachowaniu IntelliJ IMHO
OxyFlax

17

Dzisiaj napisałem bardzo małą wtyczkę do Xcode 5, która usuwa i duplikuje linie i zaznaczenia.

Możesz go pobrać z mojego repozytorium GitHub: wtyczka XcodeKit - https://github.com/ptfly/XcodeKit


Właśnie to pobrałem i zainstalowałem - możesz także użyć preferencji systemowych, aby ustawić skróty klawiaturowe dla poleceń. Bardzo dobrze!
Orion Edwards

Najlepsze rozwiązanie jest takie, ponieważ ten nie zepsuje Ci obecnego schowka. Aby dodać skróty klawiszowe: Preferencje systemowe -> klawiatura -> skróty -> skróty do aplikacji -> „+”. Tam wybierz Xcode i tytuł menu, na przykład
``

Właśnie to zainstalowałem. NIESAMOWITE, chociaż z jakiegoś powodu moje menu „Duplikat” pod edycją jest wyszarzone. Mimo że wybrałem linię w edytorze, kursor i próbowałem zaznaczyć całą linię.
John Ballinger

To więcej niż niesamowite. Dziękuję Ci!
0x6A75616E

to nie działa dla mnie. Opcja „Duplikat” jest wyszarzona, a skrót klawiaturowy również nie będzie działać.
SquareBox

13

Odpowiedź @ Hailei była całkiem dobra, ale miała niefortunny efekt uboczny wbijania zawartości schowka (pozostawiając ją wypełnioną zawartością zduplikowanej linii), co jest dokładnie tą częścią ręcznego kopiowania / wklejania, której starałem się uniknąć .

Więc zmieniłem sekwencję poleceń na następującą:

moveToBeginningOfLine:,
deleteToEndOfLine:,
yank:,
insertNewline:,
moveToBeginningOfLine:,
yank:

Te 2 yank:s mogą nie działać zgodnie z przeznaczeniem, jeśli NSTextKillRingSizeustawiłeś coś innego niż 1, ale jestem prawie pewien, że 1jest to ustawienie domyślne i musisz wykonać nietrywialną pracę, aby to zmienić (wymaga dodania wpisu do ~/Library/Preferences/.GlobalPreferences.plist).


Proponuję użyć polecenia defaults write -g NSTextKillRingSize 1zamiast bawić się z GlobalPreferences.plist. ;)
dbernard

@amas Prawdopodobnie musisz skopiować plik w inne miejsce, zanim go zmodyfikujesz, a następnie zastąpisz oryginalny plik, chyba że chcesz ryzykować zmianę uprawnień do folderów nadrzędnych.
nipponese

to prawie działa, ale z jakiegoś powodu na końcu zduplikowanej linii zostaje dodana grupa białych znaków .. masz pomysł dlaczego?
tmsimont,

5
jeśli naprawiono to za pomocą tej modyfikacji:moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, setMark:, moveToBeginningOfLine:, selectToMark:, yank:
tmsimont

To powinna być sugerowana odpowiedź (zgodnie z przewodnikiem @ Hailei). Dzięki!
brkeyal

9

Po co powielać jedną linię? Duplikat całego akapitu jest lepszy. Moja sekwencja:

Powiel bieżący akapit

selectParagraph:,
delete:,
yank:,
moveToBeginningOfParagraph:,
yank:,
moveUp:,
moveToEndOfParagraph:

Usuń bieżący akapit

selectParagraph:,
delete:,
moveUp:,
moveToEndOfParagraph:

Działa dobrze w Xcode 4.6


Zgoda, manipulowanie akapitami jest lepsze niż wiersze. Wszyscy, spraw, aby twój edytor był na tyle wąski, aby zawijał tekst i spróbuj użyć poleceń linii.
Logan Moseley,

Jak małe jest twoje okno, które opakowuje twój kod. Rozważ podzielenie kodu na mniejsze linie, jeśli zdarza się to tak często.
quemeful

9

Zastanawiam się, dlaczego nikt nie wspomniał o używaniu razem z klawiszami strzałek ( ) zarówno do przesuwania kursora, jak i do zaznaczania całych linii (poprzez dodawanie ).

Regularnie kopiuję całe linie (duplikaty), przesuwając kursor na początek linii za pomocą + (zamiast ctrl+ A), a następnie używam + + (zamiast ctrl+ + E), aby zaznaczyć całą linię do końca, a następnie kopiować / wklejać.

Natknąłem się na inne wątki, w których nikt nie używa tych skrótów klawiaturowych. Są globalne w OS X i używam ich cały czas! Dużo mniej akrobatyki ręcznej;)


Wymaga to znacznie więcej „akrobatyki ręcznej” niż powielanie za pomocą tylko jednej kombinacji akcji / klawisza… w ten sposób powielam tekst w edytorze tekstu lub przeglądarce internetowej, tak, ale oczekuję trochę więcej od IDE.
Ixx

1
A także, dzięki zduplikowanemu skrótowi liniowemu, nie nadpisujesz zawartości schowka. Wiele razy coś kopiujesz, duplikujesz kod i chcesz go wkleić - swoją metodą musisz skopiować ponownie.
Ixx

No tak. Ale mniej niż sposób sugerowany przez PO. Mogę się zgodzić, że jedno polecenie byłoby najlepsze. Pomyślałem, że wskażę alternatywę.
Baldur

1
to wciąż lepsze niż nic po wyjęciu z pudełka. Chciałbym, żeby cmd + C / X bez zaznaczenia po prostu skopiował / wyciął całą linię, tak jak robią to inni redaktorzy ...
manroe

@Baldur To też robię. cmd + lewy cmd + shift + prawy cmd + c cmd + prawy wprowadź cmd + lewy cmd + p. Przy 7 naciśnięciach klawiszy można to łatwo zrobić w mniej niż 3 sekundy, jednak nadal jest to dość żmudne w stosunku do ctrl + d, jak w wielu edytorach tekstu. Szkoda, że ​​nie jest to wbudowane w xcode lub ogólnie komputery Mac i oprogramowanie Apple nie mają lepszych klawiszy skrótu.
csga5000

9

EDYCJA: 12 lipca 2020 r. Po ponownej aktualizacji do Xcode 11.5 mój duplicate linewpis klucza z plistpliku zniknął. Musiałem to dodać ponownie. Kluczowe powiązanie nadal istniało.

EDYCJA: 17 września 2019 r. Po ponownej aktualizacji do Xcode 10.3 mój duplicate linewpis klucza z plistpliku zniknął. Musiałem to dodać ponownie. Kluczowe powiązanie nadal istniało.

EDYCJA: 28 maja 2019 r. Po ponownej aktualizacji do Xcode 10.2 mój duplicate linewpis klucza z plistpliku zniknął. Musiałem to dodać ponownie. Kluczowe powiązanie nadal istniało.

EDYCJA: 23 grudnia 2018 Po aktualizacji do Xcode 10.1 wszystkie moje skróty znowu się zepsuły. Ale coś innego było to, że po zaktualizowaniu pliku plist pod kątem duplikacji linii nie musiałem definiować moich przypisań klawiszy, one już tam były. Dziwne.

EDYCJA: 14 października 2018 Xcode 10: Ktoś wysoko w Apple naprawdę uwielbia kopiować / wklejać i dba o to, aby z każdą wersją aktualizacji Xcode, duplikacja linii została usunięta z instalacji wszystkich. My, programiści, byliśmy bardzo sfrustrowani tym nonsensem, który od zawsze miał miejsce w Xcode, jedynym IDE bez opcji kopiowania linii. Właśnie zaktualizowałem do Xcode 10 i jak się domyślacie - wszystkie moje klawisze skrótów zostały usunięte wraz z funkcją powielania linii. Jednak można to naprawić, tak jak w oryginalnej odpowiedzi. Niewielka różnica tym razem polega na tym, że będziesz potrzebować następującego wiersza:

<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>

EDYCJA: Xcode 9: Musiałem przerobić moje skróty oraz powielanie i usuwanie linii, ale dobrą rzeczą jest to, że teraz możesz ponownie edytować IDETextKeyBindingSet.plist. Ten wysoko postawiony facet z Apple musi być na wakacjach, kiedy wydali tę wersję.

EDYCJA: Xcode 8: Buggy, nie możesz w ogóle modyfikować pliku IDETextKeyBindingSet.plist. Xcode resetuje go przy starcie. Ten wysoko postawiony facet w Apple jest naprawdę zdeterminowany, abyśmy używali kopiowania / wklejania zamiast prostego powielania linii, jak we wszystkich innych IDE.

EDYCJA: Xcode 7.1 i nadal nie ma skrótów do powielania i usuwania linii. To jedyne IDE, z jakim kiedykolwiek pracowałem, bez takich skrótów. Nie wyobrażam sobie życia programisty bez tych dwóch krytycznych skrótów.

Oto, jak można to zrobić:

Najpierw musimy zmodyfikować plik plist, który znajduje się w pakiecie Xcode.app (wymaga sudo do edycji)

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

Następnie poszukaj <key>Insertions and Indentations</key>i pod <dict>tagiem dodaj:

<key>Insert New Line Below</key>
<string>moveToEndOfLine:, insertNewline:</string>
<key>Insert New Line Above</key>
<string>moveUp:, moveToEndOfLine:, insertNewline:</string>
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>

Następnie znajdź i te w sekcji <key>Deletions</key>pod <dict>tagiem:

<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>

wprowadź opis obrazu tutaj

Teraz otwórz / uruchom ponownie Xcode, przejdź do Preferencji i przejdź do zakładki „Wiązania klawiszy”. Użyj paska wyszukiwania, aby filtrować i szukać nowych skrótów. Następnie kliknij przed opisem skrótu, aby przypisać mu odpowiedni skrót. Upewnij się, że Twój skrót nie powoduje konfliktu z istniejącymi skrótami.

wprowadź opis obrazu tutaj


3

Rozważyłbym zmianę sekwencji poleceń, aby:

selectLine:,
copy:,
moveToEndOfLine:,
insertNewline:,
deleteToBeginningOfLine:,
paste:,
moveToBeginningOfLine:, 
deleteBackward:

Dodany deleteToBeginningOfLinezachowuje wcięcie powielonej linii.


To zadziałało świetnie, gdy zdałem sobie sprawę, że muszę zamienić (dobrze wyglądające) znaki nowej linii spacją po przecinku.
McUsr,

2

insertLineBreak potrzebował przynajmniej dla mnie do zrobienia kopii w nowej linii, bez tego mam kopię w tej samej linii


2

Miałem duży problem z odblokowaniem pliku .plist na MacOS Sierra i Xcode 9, nawet decyzja @Tim nie działała dla mnie. Jeśli masz ten sam problem, przejdź do terminala i zrób to:

cd /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/
sudo chmod -R 777 *
nano IDETextKeyBindingSet.plist

Poniżej opisano również kilka innych możliwych sposobów, aby to zrobić .

Następnie w edytorze nano kliknij ^Wi wpisz „wstawki”, aby przejść do części „Wstawienia i wcięcia”. Tuż pod <dict>tagiem wklej ten xml-snippet:

<key>Duplicate line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewLine:, paste:, deleteBackward:</string>

Naciśnij control + X, a następnie Y, Enteraby zapisać plik w edytorze nano.

UPD: Podjąłem lepszą decyzję, która dodaje dodatkową linię przed powieleniem (przydatne, gdy chcesz zduplikować linię, która ma inną linię tuż pod nią):

<key>Duplicate line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertLineBreak:, moveUp:, paste:, moveToBeginningOfLine:</string>

1

Oto moje wpisy Delete ( CTRL+ D) i Duplicate ( CMD+ SHIFT+ D) z mojego IDETextKeyBindingSet.plist. (w /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources)

Właśnie skonfigurowałem je w Xcode 4.6.1 (na podstawie odpowiedzi użytkownika570753 powyżej i gdzie indziej)

    <key>Custimozed</key>
<dict>
    <key>Delete Current Line</key>
    <string>deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:</string>
    <key>Duplicate Current Line</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, deleteToBeginningOfLine:, paste:, moveToBeginningOfLine:, deleteBackward:</string>
</dict>

0

Każdy użytkownik wysublimowanego tekstu, który chciałby dopasować duplicateLineUp i duplicateLineDown do sublime w XCode, dodaj następujące elementy do swojego pliku IDETextKeyBindingSet.plist

<key>Line Duplications</key>
<dict>
    <key>Duplicate Current Line Above</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:, moveUp:</string>
    <key>Duplicate Current Line Below</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
</dict>

0

W przypadku, gdy komukolwiek innemu odmówiono dostępu do edycji IDETextKeyBindingSet.plist, możesz nadać sobie uprawnienia do odczytu / zapisu przez:

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist

0

Aby uzupełnić odpowiedź Hailei, polecenia, które działały dla mnie najlepiej, to:

selectLine:, copy:, moveRight:, moveLeft:, insertNewline:, paste:, deleteBackward:

Jego sugerowane polecenia polegały na skopiowaniu żądanej linii dwie linie poniżej, dla mnie.


0
<key>Duplicate Lines</key>    
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:</string>

Obsługiwane są zduplikowane wiersze. (Działa w Xcode 9.2)


0

Jeśli chodzi o Xcode 11, żadne z powyższych nie działało dla mnie. Pierwsza odpowiedź zachowywała się dziwnie, ponieważ wstawiała wiersz po następnym. Jednak następująca odpowiedź zadziałała dla mnie.

<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>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.