Mac terminalinde Ctrl + PageUp / PageDown ile sekmeler arasında geçiş yapma


10

Yakın zamanda bir Mac kullanmaya başladım (Lion çalıştıran) ve bana ulaşan bir tutarsızlık var.

Chrome ve MVim'de, sekmeleri Ctrl+ PageUp/ ile değiştirebilirim PageDown. Ancak, Terminalde Cmd+ Shift+ Left/ kullanmak zorundayım Right.

İkincisini Ctrl+ PageUp/ olarak değiştirmek istiyorum PageDown, ancak bunu yapamıyorum.

Sistem Tercihleri ​​→ Klavye → Klavye Kısayolları → Uygulama Kısayolları'na gittiğimde ve Terminal'in "Sonraki Sekmeyi Seç" e bir kısayol eklediğimde, PageUp / PageDown tuşu içermediği sürece hemen hemen her şey olacak şekilde ayarlayabilirim.

Neden böyle bir sınırlama var ve bunun üstesinden gelebilir miyim?

Yanıtlar:


7

defaults write -g NSUserKeyEquivalents -dict-add "Select Previous Tab" "^\UF72C" "Previous Tab" "^\UF72C" "Previous Workspace" "^\UF72C" "Select Next Tab" "^\UF72D" "Next Tab" "^\UF72D" "Next Workspace" "^\UF72D"

-gdeğiştirir ~/Library/Preferences/.GlobalPreferences.plist. Değişiklikleri uygulamak için uygulamaları yeniden açmanız gerekir ve manuel olarak eklenen kısayollar Uygulama Kısayolları'nda görüntülenmez .


Denemeden önce, bunu nasıl geri alırım? -Dict-remove gibi bir şey var mı? (Ayrıca, bu çözümü nasıl bulduğunuzu bilmek isterim.)
foxcub

1
defaults delete -g NSUserKeyEquivalents. Dosyayı: ile manuel olarak da düzenleyebilirsiniz f=~/Library/Preferences/.GlobalPreferences.plist; plutil -convert xml1 $f; open $f. Bu konuda özellikle herhangi bir yerden bulamadım.
Lri

Anahtar kodların yanlış olduğunu düşünüyorum. Her şeyi Ctrl + PageUp olarak ayarlamaya çalışır. Bu kodları nereden arayabilirim?
foxcub

Üzgünüm, düzelttim. lri.me/chars
Lri

Bu cevabı kabul ediyorum, çünkü soruma daha doğrudan bir yaklaşım. (Kusura bakmadığım için üzgünüm - yeterli itibar yok.)
foxcub

3

Çok daha esnek bir kısayol sistemine sahip olduğu için iTerm'i kullanabilirsiniz, ancak kaçınılmaz olarak istediğiniz şekilde çalışmayan başka bir uygulama ile karşılaşacaksınız.

Ne bulacaksınız düşünüyorum Command+ shift+ [ve Command+ shift+ ]sekmeler arasında geçiş yapmak için sadece tutarlı kısayollarıdır ve basitçe senin alışkanlıklarını değiştirmek daha iyidir.


Sekmeleri aynı şekilde değiştirmek için Chrome kısayolunu değiştirmenin bir yolu var mı? (Sanırım MVim için bunu nasıl yapacağımı biliyorum.) Alışkanlıklarımı değiştirme konusunda iyiyim, ama tutarlılığa ihtiyacım var.
foxcub

Chrome, MacVim ve Adium hariç kullandığım diğer tüm uygulamalarda olduğu gibi bu kısayolları zaten kullanıyor.
Jared O'Connor

Shift-Komut-Sol / Sağ Ok da Terminal'deki sekmeleri değiştirir. Ayrıca, Mac OS X Lion 10.7'den itibaren, "üç parmakla kaydırma" hareketi sekmeleri değiştirir (sistem tercihinin başka bir şey için üç parmakla kaydırma kullanacak şekilde ayarlanmadığı sürece).
Chris Page

İngilizce olmayan (çok) klavye düzeni olmayan kişiler için [] {} gibi tuşları içeren kısayolların yazılmasının zor olduğunu unutmayın. Bu yüzden kişisel olarak klavye düzenine bağlı olmayan tuşları kullanan kısayolları tercih ediyorum. PageUp ve PageDown gibi.
tml

3

Lri'nin cevabı işe yarıyor (ve FWIW, onu iptal ettim), ancak biraz av tüfeği yaklaşımı alıyor: küresel ayarlar yaratıyor (Terminale özgü ayarlar yerine) ve ayarladığı bazı şeylerin Terminal üzerinde hiçbir etkisi yok - - Aslında ne için olduklarını bilmiyorum.

Benim gibi, biraz paranoyaksanız ve daha "cerrahi" bir yaklaşımı tercih ediyorsanız, Lri'nin cevabının değiştirilmiş bir versiyonu:

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Previous Tab"    "^\UF72C"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Next Tab"        "^\UF72D"

Bu sadece iki tuş atamaları ekler ^PageUpve ^PageDownve bunları ekler sadece Terminali.


Bunun hala işe yarayıp yaramayacağı hakkında bir fikrin var mı (El Capitan'da)? Ne yazık ki benim için çalışmıyor.
Chris

@Chris Doğru gibi görünüyor. Bu artık işe yaramıyor gibi görünüyor! Birincisi, menüler öğelerin adları değişti (Artık "Seç" yerine "Göster" diyorlar), ancak bu ayarın düzeltilmesinin bile bir etkisi yok gibi görünüyor. Aslında NSUserKeyEquivalents El Capitan'daki Terminal için çalışıyor Ugh
Laurence Gonsalves

1

Bu cevaba dayanarak, macOS High Sierra için bunun bir sürümü var:

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Next Tab" "^\UF72D"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Previous Tab" "^\UF72C"

Bu cevabın Mojave'de çalıştığını doğruladı, ancak bu cevap Laurence Gonsalves'in cevabının bir kopyası gibi görünüyor . Ayrıca, PSA: çalıştırdıktan sonra Terminal'i yeniden başlatmayı unutmayın.
RACKGNOME
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.