Ctrl + Ok ve Shift + Ok tuşlarıyla terminal sorunu


10

Mavericks'i yeni bir Macbook Pro'da çalıştırıyorum. CtrlVe Shifttuşlarını ok tuşlarıyla birlikte kullandığımda , terminalde çıkış olarak bir çeşit anahtar kodu alıyorum. Bu sorunun yeni olduğundan ve birkaç gün önce gerçekleşmediğinden eminim. Ama% 100 emin değilim. Her neyse, olan bu:

Ctrl+ (Sol ok) tuşuna basarsam ;5Dterminalde çıkış yapılır. Benzer şekilde:

  • Ctrl+ (Sağ ok) çıkışları;5C
  • Shift+ (Sol ok) çıkışları;2D
  • Shift+ (Sağ ok) çıkışları;2C

Bahsettiğim gibi, bugün önce kelimeler arasında hareket etmek ve metin seçmek için bu kısayolları kullanabileceğimden eminim. Bunu daha önce gören var mı? Ok tuşu kısayollarıyla ilgili mevcut soruların bazılarına daha önce baktım, ancak bu tam soruna referans bulamadım.

Ayrıca, Ctrl+ ok tuşlarını kullanarak masaüstü bilgisayarlar arasında hareket eden klavye kısayolunu kapattığımı da unutmayın .


Ok tuşlarınız kullanmak için bir yere yeniden eşleştirilmiştir \],-(hex 5C 5D 2C 2D'nin ascii eşdeğeri).
l'L'l

Ayrıntılı düşünmek ister misiniz? OSX'te çok yeniyim. Bu geri dönüşleri nerede arayabilirim?
Henrik Söderlund

Yanıtlar:


8

Aynı şey 10.9 ve 10.8 sanal makinelerimde de oluyor. Kontrol okları ve kaydırma okları bash'da varsayılan olarak hiçbir şey yapmaz. Metin seçmek için shift oklarını nereden kullanıyordunuz? emacs veya vim?

Bash'deki kelimeler arasında hareket etmek için control-left ve control-right kullanmak istiyorsanız, şu satırları ekleyin ~/.inputrc:

"\e[1;5C": forward-word
"\e[1;5D": backward-word

Emacs'ta shift-oklarını kullanmak için yukarı kaydır, \e[1;2Aaşağı kaydır, \e[1;2Bsağa \e[1;2Ckaydır ve sola kaydır \e[1;2D. Yukarı kaydırma tuşuna basmak gibi bir mesajla sonuçlanırsa <select> is undefined, ayarını TERMyapmayı deneyin xterm-vt220.


Sanırım metni seçmek için shift oklarını kullanma konusunda yanılmış olabilirim. 13 yıllık tecrübeye sahip bir geliştiriciyim ama bu benim ilk OSX deneyimim. Şimdiye kadar çok karışık.
Henrik Söderlund

.İnputrc şeyi anladım. Kendim oluşturmak zorunda olduğumu fark edene kadar dosya için her yere baktım. :) Şimdi kelimeler arasında tekrar hareket edebilirim. Bunun için teşekkürler, bunu cevap olarak işaretliyorum. Sadece birkaç soru daha var, bu yüzden% 100 netim: 1: Şimdi iTerm2 kullanmaya geçtim. İTerm2'de Shift + Sol ve Shift + Sağ tuşlarını kullanarak .inputrc veya başka bir yöntem kullanmanın bir yolu var mı? 2: Emacs ve vim'den bahsettiniz. Bunlar sadece metin editörleri değil mi? Bunları terminal olarak nasıl kullanırım?
Henrik Söderlund

İTerm 2'de shift-left ve shift-right seçimini değiştirmenin herhangi bir yolunu bilmiyorum. Bunları sadece Emacs'ta kullanmış olabileceğinizi düşündüm.
Lri

Peki. Şimdilik onsuz yaşamak zorunda kalacağım. Teşekkürler!
Henrik Söderlund

1
Sierra, Shift + Sağ Ok veya Shift + Sol Ok hiçbir şey yapmaz.
Alessandro C

3

Ctrl + Sol / Sağ varsayılan olarak Terminal'de (macOS 10.12) bulunur (Tercihler → Profiller → Klavye). Shift-Yukarı / Aşağı eklemeyi denedim ~/.inputrcama hiçbir şey olmadı.

~/.inputrc:

"\e[1;2A": shift-up
"\e[1;2B": shift-down

Bunun yerine Terminal Tercihlerinde Shift Yukarı / Aşağı'yı programlı olarak ekledim. Sorun, bunun macOS'un varsayılan olarak bir düzine olduğu profil başına depolanmasıdır , bu nedenle Oceankullanılabilir tüm profillerin anahtarlarını eklemek için tüm profiller ( burada adlandırılan ) üzerinde döngü yapmanız gerekir . Ben bilmiyorum plutilya defaultsbir XML ayrıştırıcı kullanmanız gerekiyorsa bu kolaylaştırmak için biraz sihir varsa, ya da.

~/Library/Preferences/com.apple.Terminal.plist:

"Window Settings" = {
  Ocean = {
    keyMapBoundKeys = {
      "$F700" = "\033[1;2A";
      "$F701" = "\033[1;2B";

-1

Bir alternatif:

Terminal tercihlerinde Gelişmiş'e gidin ve 'Satır başlarını satırsonu olarak yapıştır' seçimini kaldırın.

Sonra karmaşık com yazmak için Sublime kullanın

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.