OS X Terminal eşdeğeri Ctrl + Sol / Ctrl + Sağ


19

Windows ve Linux'ta her zaman terminalde sola veya sağa bir sözcük atlamak için ctrl+ ←veya ctrl+ →tuşuna basabilirim. Metin editörlerinde ⌥+ ←/ →çalışıyor, ancak terminalde zar yok gibi görünüyor . Google'da arama yaptım ve işin ⌥+ B/ olduğunu iddia eden bir Wikipedia sayfası dışında hiçbir şey bulamadım F, ancak tüm yaptığı şey terminalime ∫ ve ƒ karakterleri yazdırmak (veya tutarsam ı ve Ï ⇧). Herhangi bir fikir?

Yanıtlar:



12

Bu da beni deli ediyordu, ancak Terminal'i kullanmadığım için Terminal'e özgü bir düzeltme istemedim ve OSX kutuma SSH yapabilmek de doğru tuş bağlantılarını kullanmak zorundaydı.

Ayrıca, kişisel ⌥olarak, daha önce tartışıldığı gibi anahtarı umursamadım ; Linux'ta alışkın olduğum ctrl+ ←/ →kombinasyonunu korumak istedim .

Bu sorunu çözmek için aşağıdakileri ekledim ~/.profile:

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

İlk ikisinin Terminal'deki bash için geçerli olduğuna dikkat edin ; son ikisi iTerm2 ve gelen ssh bağlantılarındaki bash için geçerlidir . Bana klavye öykünmesinin neden farklı olduğunu sorma;)

Kayıt için, bu yığın akışı akışı cevabından bir ipucu sayesinde cat > /dev/nullanahtar kodlarının gerçekte ne olduğunu bulabildim : Bir tuş kombinasyonu sırasında gönderilen tam anahtar kodlarını izlemek için çalışabilirsiniz .

(Benim için çalıştırdığımda + cat > /dev/nulltuşuna bastığımda bunun üretildiğini unutmayın . Tam anahtar kodunuz farklı olabilir , ancak ilk örnek, örnek kodumda gösterildiği gibi olarak temsil edilir .)ctrl←^[[1;5D^[\e

BTW, tüm etkin bash tuş bağlantılarını görmek istiyorsanız çalıştırın bind -p.


xxdKlavye girişini incelemek için kullanmayı seviyorum . Karakteri yazarken görüntülenebilir, ardından xxddönüş yazdığınızda değeri onaltılık olarak yayabilirsiniz .
— Chris Page

Mükemmel! Sadece ne aradığını :) Yukarıdaki "App-özgü" ayarları yapma şansı yoktu, ama bu sadece çalışıyor!
— bisko

Sysprefs> klavye> kısayollar> pozlamada kontrol + sol / sağ öğelerinin "boşluk değiştir" ile eşlenmediğinden emin olun. Açık olan başka alanım yoktu, bu yüzden klavye girişim çalışmıyor gibi görünüyordu.
— sudo

6

Mac OS X Lion 10.7'den itibaren, Terminal varsayılan olarak ⌥- ←/ →ile esc+ B/ arasında Feşleşir, bu nedenle bu artık bash ve bu emacs uyumlu tuş bağlarını kullanan diğer programlar için yerleşiktir.


5

Eğer vi nasıl kullanılacağını biliyorsanız siz de kullanarak vi çizgi düzenleme modu açabilirsiniz set -o viGözlerinde farklı .bash_profileveya komut satırında herhangi bir zamanda. Ardından vi komutu ve ekleme modları arasında geçiş yapabilirsiniz. Böylece escape tuşuna basabilir, ardından satırda gezinmek için vi komutlarını kullanabilirsiniz:

0 = move to beginning of line
$ = move to end of line
w = move forward one word
b = move backward one word

Doğru konuma geldiğinizde, ekleme veya ekleme modlarını girmek veya karakterleri tek tek kaldırmak vb. İçin diğer vi komutlarını kullanabilirsiniz.


Satır başlangıcı için 0 kullanabileceğinizi hiç bilmiyordum, her zaman kullandım ^
— Jason Salaz

1
@vxjasonxv: ya, ^ ilk boşluk olmayan karaktere gider, 0 ilk sütuna gider (muhtemelen zaten fark etmişsinizdir, ancak diğerleri için oraya atacağımı düşündüm: P)
— Robert S Ciaccio

1
OH WOW, DAHA İYİ OLDUĞUNU, ben olmasaydı o henüz fark! Ah adamım, ^ 'nin (ilk boşluk olmayan) işlevselliği beni her zaman kızdırdı. Teşekkür ederim.
— Jason Salaz

Tabii ki, ESC ^ihtiyacınız olduğunda harika, sadece tamamen başka bir şey yapmak istediğinizde sinir bozucu :)
— ocodo

3

Terminali açın, tercihlere gidin, klavye. Listede "ctrl imleç sağ" ve "ctrl imleç sol" bulacaksınız.
Atanan eylemlerini sırasıyla “\ 033f” ve “\ 033b” olarak değiştirin; alt tuşunuzu kaybetmeden taşımak için ctrl+ →ve ctrl+ ←tuşlarını kullanabilirsiniz.


2

Görünüşe göre esc+ Bve esc+ Fvarsayılan olarak kelimelerin başına ve sonuna gider. Yine de, sistemim için basılı tutamazsınız, escancak her kelime için yeniden basmanız gerekir.


1
Esc sadece bunu bastığınızda, vardiya aksine o şeyler yapmanın kalıcı bir şekilde dikkate modu "Escape" giriyor, bir değiştirici asla / Ctrl / meta vb (şeylerin Readline düzeni zaten.)
— ocodo

0

İşletim sisteminin en son sürümü bunu Spaces ile eşleştirir. Spaces kapalı olsa bile, kısayol tuşları bu gizli konumda kısa devre yapabilir:

Terminal.app imleç tuşları: Sistem Tercihleri ​​-> Kısayollar -> Görev Kontrolü -> Boşluk sola git

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.