Xcode kopyala / satırı sil


Yanıtlar:


91

Bütün mesele Cmd-C/ Cmd-Vkısayollarını kullanmak DEĞİLDİR . IntelliJ'den gelen aynı sorunu yaşıyorum ve satırları kopyalayıp Cmd-Dsilebilmek Cmd-Ybüyük bir zaman tasarrufu sağlıyor.

O zamandan beri beni rahatsız ediyor. Ancak, başka biri işe yarayan bir çözüm bulmuş gibi görünüyor .

Kısaca, ~/Library/KeyBindings/PBKeyBinding.dictaşağıdaki içeriğe sahip bir dosya oluşturun ve Xcode'u yeniden başlatın.

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

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

Bu, iki kısayol oluşturacaktır: Ctrl- Shift- Kmevcut satırı silmek için ve Ctrl- Shift- Dmevcut satırı kopyalamak için. Lütfen bunun yalnızca Xcode'da özel bir anahtar bağlama seti KULLANMIYORSANIZ çalışacağını unutmayın . "XCode Varsayılanı" na geçin ve işler çalışmalıdır. Snow Leopard'da XCode 3.2'de test edilmiştir.

Mac OS X tuş bağlamaları hakkında daha fazla bilgi: http://funkworks.blogspot.it/2013/03/republishing-of-wwwerasetotheleftcompos.html


5
Bu gerçek cevap olmalı. Btw - Eclipse'den cmd-d (satır silme) kısayolunu içe aktarmak istiyorsanız, önce XCode
Chris R

@joshperry, Xcode 4+ ile çalışan herhangi bir şey? Duplicate(Komut Edit -> Duplicate) "her zaman" gri (ve çoğaltma hattı için verilmemiştir) gibi görünüyor.
Blaz

OS X'i ilk günden beri kullanıyorum ve anahtar bağlamaları hiç bilmiyorum. ne harika bir özellik. Karşılaştığım bu çok hoş GUI anahtar bağlama düzenleyicisine bir göz atın .
Alex Grey

Apple'ın geliştirici sitesinde daha fazla bilgi bulundu .
aleclarson

kulağa harika geliyordu, ama benim için Xcode 5.0.2'de işe yaramadı gibi görünüyor :(
voghDev

105

Bir satırı silmek için : Ctrl- Asatırın başına gitmek için, sonra Ctrl-K silmek için ve başka bir zaman Ctrl-K boş satırı kaldırmak için. (Xcode'u çok sık kullanmıyorum, ancak Emacs ve Emacs benzeri bağlamalara sahip diğer metin girişlerinde buna alışkınım ve Xcode'da da çalışıyor gibi görünüyor.)

Ve bir satırı çoğaltmak için : Bunun için bir komutu olan birçok program bilmiyorum, ancak genellikle sadece Kopyala + Yapıştır kullanıyorum - Xcode'da CUA benzeri: Ctrl+A satırın başına gitmek için Shift+ , seçmek için o, Command + Ckopyalamak ve Command + * V(çizgi geçersiz kılma kez ve buna ekleme kez) iki kere yapıştırın.

(her zaman metin yazan ve düzenleyen bir kişiden, çoğu zaman farklı programlarda ve bazen bir metin girişinde küçük bir düzeltme yaparken aptal bir gereçle dikkatini dağıtmak zorunda kaldığı için sinirleniyor, bu dizileri hatırlamaktan kaçınamıyor. ve alışkanlıklar)


3
Bu, Cocoa Metin Sisteminin bir özelliği olduğundan metin girişi için Cocoa kullanan tüm uygulamalarda çalışacaktır. Bunun gibi daha birçok kısayol var, bunların bir listesini burada bulabilirsiniz: hcs.harvard.edu/~jrus/Site/System%20Bindings.html :)
Ahti

2
"yank", modern Mac'lerde ctrl + Y olmalıdır.
CarmeloS

Yapıştırmak ve yeniden girintilemek için Command-V. Kontrol -Y de yapıştırılır ancak yapıştırılan metni yeniden girintilemez.
Scott Gardner

77

Eclipse CTRL+ gibi bir satırı silin D(Xcode 4.5.1'de test edilmiştir):

Öncelikle şu hakları değiştirin:

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

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

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plistXcode ile açın ve bu yeni girişi ekleyin:

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

görüntü açıklamasını buraya girin

Xcode'u yeniden başlatın ve Xcode> Tercihler> KeyBindings'i açın. Makronuzu bulun ve bir kısa anahtar tanımlayın:

görüntü açıklamasını buraya girin


5
Bir satırı Çoğaltmak için bir yol eklemek istiyorsanız, aynısını yapın, ancak yeni değeri IDETextKeyBindingSet.plist dosyasına yapıştırırken şu kodu yapıştırın "selectLine :, copy :, moveToEndOfLine :, insertNewline :, paste :, deleteBackward: ".
jollyr0ger

+1 Bu çözüm işe yaradı, ancak Xcode 4.6.1 ^ D'deki diğer mevcut anahtar bağlamaları ile çakıştı.
bernardn

Bunu 'Geçerli satırı kopyala' için nasıl elde edebilirsiniz?
Markus

Bu, xcode 6'da çalışmıyor. Listeden yalnızca ilk işlev çağrıldı
Mrug

1
Onu seviyorum, XCode 6.3.1 altında benim için bir cazibe gibi çalışıyor.
fwielstra

9

Anahtar bağlama çözümünü denedim ama işe yaramadı. Ancak XCode anahtar bağlarımı düzenlemek bir cazibe gibi çalışıyor. İşte bunu nasıl yaptım.

Bu çözüm Panonun içeriğini değiştirmez!

XCode Anahtar Bağlamalarını açın:

alternatif metin

Kullanıcı Komut Dosyalarını Düzenle İletişim Kutusunda:

  1. "Satır Aşağı Taşı" komut dosyasını çoğaltın ve yeniden adlandırın
  2. "Satır Aşağı Taşı.scpt" dosyasını çoğaltın, komut dosyasını yeniden adlandırın, Komut Dosyası Düzenleyici'de (çift tıklama) aracılığıyla dosyayı seçin
  3. Komut dosyasını düzenleyin ("AppleScript Düzenleyicisi" ni açar) ve "delete (paragraflar startLine'dan endLine'a)" geçişini kaldırın.
  4. XCode'u yeniden başlatmak istemiyorsanız, komut dosyasını kaldırmanız ve yeniden eklemeniz gerekir. "Çıktı" nın "Çıktıyı At" olarak ayarlandığından emin olun, aksi takdirde kaynak dosyanızda "(boş)" olacaktır
  5. Doğru satırların seçilmesi için komut dosyalarını biraz daha değiştirdim:

Yinelenen Sıra:

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

Yinelenen Satır Aşağı:

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

alternatif metin


2
Yukarıda açıkça belirtilmemişse, Satırı Sil, Satırı Yukarı Taşı ve Satırı Aşağı Taşı için mevcut komut dosyaları vardır. Kabul edilen yanıtın dezavantajı, yalnızca tuş bağlantılarınızı XCode Default olarak ayarladıysanız çalışır. Komut dosyalarının kullanılması, komut dosyaları için tuş atamaları XCode'un geri kalanından ayrı olarak işlendiğinden, özelleştirilmiş tuş bağlantılarınızı korumanıza olanak tanır.
Patojen

7

Tamam, bu yüzden bunu bir süre çalıştırdım ve sonra aniden kırıldı. Şimdi burada farklı gönderilerden bir araya geldim ve XCode 6.3.1 için çalışan bir çözüm buldum.

  1. /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Finder ile gidin .

  2. Kaynaklar adlı klasörü bulun. Sağ tıklayın, Bilgi Al'a basın, paylaşım ve izin ayarının kilidini açın (kilide basarak) ve herkes için Okuma ve Yazma olarak ayarlayın.

  3. Klasöre girin ve IDETextKeyBindingSet.plist dosyasını bulun. Sağ tıklayın, Bilgi Al'a basın, paylaşım ve izin ayarının kilidini açın (kilide basarak) ve herkes için Okuma ve Yazma olarak ayarlayın.

  4. Dosyayı XCode ile açın (Varsayılan)

  5. Silme işlemlerini bulun, sağ tıklayın ve yeni bir satır ekleyin. Örneğin, Satırı Sil olarak adlandırın. Değer alanına yazın: selectLine:, deleteBackward:. (Bu ayrıca yinelenen hattı için yapılabilir: selectLine:,copy:,moveToEndOfLine:,insertNewline:,paste:,deleteBackward:)

  1. XCode'u başlatın, tercihlere / tuş atamalarına gidin ve Satır Sil'i arayın. Kısayol ayarlayın. Zevk almak.

6

Xcode 4 bunu tuş bağlamaları kullanarak uygulamayı zorlaştırdığı için, Keyboard Maestro kullanmaya başladım ( Quickey'ler de iyi çalışmalı, ancak tam olarak Lion uyumlu değil). Örneğin, işte Keyboard Maestro kısayolum (⌘-⇧-D'ye bağlı):

http://bit.ly/thC6yf


3
"Şimdi 36 $ 'a satın alın" ... ne çalmak) lol ... bunu Maestro sitesinde görene kadar, bunun iyi bir çözüm olabileceğini düşündüm
ycomp

@ycomp, işte ücretsiz bir çözüm .
Blaz

5

Xcode 10.1'de Satırı Silmek için, kısayol tuşu eklemek için lütfen aşağıdaki ekran görüntüsü adımlarını izleyin.

görüntü açıklamasını buraya girin


5

Bu iş parçacığının oldukça eski olduğunu biliyorum ama BetterTouchTool kullanarak başka bir çözüm buldum , BTT'de şu şekilde yapılandırarak Ctrl+ A, Ctrl+ K, Ctrl+ Kdizisini bir kısayolda çalıştırabilirsiniz :

görüntü açıklamasını buraya girin

(İkinci ve üçüncü kısayolu eklemek için Ek Eylem Düğmesi Ekle'yi kullanın)

Not: Eclipse'den geliyor, burada Cmd+ Dsilme satırı ^^


4

Tüm satırı seçmek için üç kez tıklayın, seçmek için command-c ve çoğaltmak için command-v'yi iki kez tıklayın. Bu bir Xcode işlevi değil, sadece işletim sisteminin bir parçası.


2
Fare tıklaması ve daha da kötüsü, üçlü? Klavye kısayollarını kullanmak isteyen kişilerin aradığı çözüm kesinlikle bu değil.
Ixx

4

Kullanıcı komut dosyalarını kullanın.

Henüz satırları taşımak ve silmek için komut dosyaları var. Bu komut dosyaları için anahtar bağlantıları tanımlamalısınız (menü Komut Dosyaları -> Kullanıcı Komut Dosyalarını Düzenle ... , xCode 3.2 altında).

Satırı kopyalamak için kendi betiğinizi oluşturmanız gerekir. Ama çok basit! "Satırı Aşağı Taşı" komut dosyasını çoğaltın ve seçili metni silen satırı kaldırın:

delete (paragraphs startLine through endLine)

3

Burada XCode4 hat çoğaltması için bir çözüm var

Ayrıca pliste satır silme ekledim:

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


3

Xcode 9.0'dayız ve tuş atamaları hala çalışmıyor. İç çekmek.

Bu özü çok yararlı buldum, bu yüzden ileride başvurmak üzere burada yeniden yayınladım:

  1. Açık /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
  2. Aşağıdaki XML pasajını bu dosyaya hemen alt tarafın üstüne ekleyin </dict>
  3. Xcode tercihlerine gidin -> Tuş Bağlamaları -> Metin sekmesi -> Çoğaltmayı görene kadar kaydırın
  4. Mevcut Satırı Çoğalt'a tıklayın, bunun için bir kısayol ekleyin, örn. Cmnd + D (yinelenen bağlamaları çözün)
  5. Xcode'u açın

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




2

Kadar yakın XCode ve aşağıdaki ekleme, yukarıda adı geçen ~/Library/Application Support/Xcode/Key Bindings/ <user>.pbxkeys<dict>olarak <key>text</key>bölüm:

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

XCode'u başlatın ve CTRL- SHIFT- Dve CTRL- SHIFT- keyfini çıkarın K. - ve -
istiyorsanız , bunun yerine ve anahtar tanımlarında kullanın. Dosyada yinelenen anahtar bağlamaları olmadığından emin olun.CTRLDCTRLK^d^k

XCode 3.2 ile benim için iyi çalışıyor



1

Zaten Xcode tuş bağları özelleştirilmiş varsa, düzenleme dosyayı gerekecek: ~/Library/Application Support/Xcode/Key Bindings/<user>.pbxkeys. İki diziyi (yukarıda açıklanmıştır) Root/textsözlüğe eklemeniz yeterlidir .


Selam. Bunu tam olarak takip etmiyorum, pbxkey belgesi XML iken yukarıda açıklanan ~ / Library / KeyBindings / PBKeyBinding.dict dosyası tamamen farklı bir formattır (biraz JSON'a benziyor). Pbxkeys belgesinde Kök / metin girişi yok. Daha sonraki bir sürümü kullandığım için mi?
Ben Clayton

1

Mevcut satırı silmek için üç adım (çok uzun bakın, ancak çok hızlı yapın: D)

Cmd+ : satırın sonuna gitme
Cmd+ Delete: satırın başına kadar
Deletesil: boş satırı sil


0

Xcode 6.1 için Xcode> Tercihler> KeyBindings> Metin'e gidin Ve "Satır Sonuna Kadar Sil" var ve istediğiniz bir tuşu atayın.



0

Yine de, Xcode 9'dan itibaren, satırları çoğaltmanın yerleşik bir yolu yoktur. Ve özel anahtar bağlamalarında sorunlar var gibi görünüyor.

Güncelleme: Xcode 10.0 beta 6 (10L232m) aynıdır.


0

Bu adrese gidin:

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

ve sonra IDETextKeyBindingSet.plist dosyasını bir yere kopyalayın ve ardından kopyalanan dosyayı açın ve ekleyin

selectLine :, copy :, paste :, paste: bu resim gibi buraya resim açıklamasını girin ve kopyaladığınız dosyayı bu adrese kaydedin /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet

ardından xcode'u yeniden başlatın, xcode tercihlerini açın, tuş bağlama sekmesine gidin, yinelenen satırı arayın (özelleştirilmiş) ve aşağıdaki resim gibi kısa anahtar tanımlayın

[1]: https://i.stack.imgur.com/UTeZu.png


Yorumdan: Merhaba, bu yazı soruya kaliteli bir cevap sağlamıyor gibi görünüyor . Lütfen cevabınızı düzenleyin ve iyileştirin ya da sadece bir yorum olarak gönderin.
sɐunıɔ ןɐ qɐp
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.