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.