İTerm'i diğer işletim sistemlerinde olduğu gibi 'meta anahtarı' çevirecek şekilde yapma


179

Emacs anahtar bağlama özelliğine sahip bash kabuğunda, Mf, Mb gibi tuş bileşimlerini kabuk isteminde sırasıyla bir veya bir ileri veya geri taşımak için kullanabilirsiniz. Genellikle meta anahtar, Windows ve Linux'ta Alt anahtarıyla eşlenir. Ancak, iTerm'de, bu meta anahtarı MacBook Pro'mdaki Option veya Command anahtarıyla eşleştirmenin bir yolunu bulamadım.

OS X'te meta anahtar varsayılan olarak ESC anahtarıyla eşlenmiş gibi görünüyor. Böylece iTerm'de ESC-f, ESC-b kullanabilirsiniz. Ancak, ESC anahtarının kullanımı pratik değildir. Buna ek olarak, iTerm, meta tuşu (Yer İşaretleri> Profiller> Klavye Profilleri> Genel> Seçenek Tuşu olarak ...) için eşleme değiştirmenize izin veren bir seçeneğe sahiptir, bu ayar hiç çalışmıyor gibi görünüyor.

Bu nedenle, bu sorunun çözümünün ne olduğunu bilen biri varsa, lütfen bana bildirin.

En son sürüm olan 0.9.6.1012'ye geçtim ve bu davranış hala devam ediyor.

Düzenleme: Sorum için bazı açıklamalar. Bahsettiğim anahtar-bağlayıcı, emacs için değil, bash kabuğu içindir. Sadece, varsayılan olarak, bash kabuğunun emac'larla aynı anahtar bağlayıcıyı kullandığı görülür.


Bir süre bu sorunla uğraştıktan sonra bir çözüm bulamıyoruz. Şimdi vazgeçtim ve Terminal'e geçtim.
ejel

2
iterm2'nin zaten var olduğunu ve orada her şeyin yolunda olduğunu unutmayın =)
holms

Yanıtlar:


207

Cmd+., Profiles, KeysVe seçim Left option Key acts as: +Esc.

Emacs'ta benim için çalışıyor, ancak başka istenmeyen etkilerinin olup olmayacağından emin değilim.


Tüm seçenekleri ile Option Key denedim ama hiçbiri bash kabuk benim için çalışmıyor. Sadece "?" meta tuş kombinasyonuna her basışımda.
ejel

2
+ ESC seçeneğinin çalışması için giriş dilinizin ABD olması gerektiği anlaşılıyor. + ESC, Japonca / Romaji giriş yöntemini seçtiğimde benim için çalışmadı, ancak giriş dilini ABD'ye değiştirdiğimde çalışmaya başladı
Dominic Cooney

2
Tercihler, Profil, Tuşlar ve Sol seçeneğini belirleyin Anahtar şu şekilde davranır: + Esc. Daha sonra meta anahtar olarak hem sol seçenek tuşuna hem de Esc tuşuna sahip olursunuz. Benim durumumda olan buydu.
cgl

İTerm 2 ile bu önerilen seçenek gibi görünüyor.
ejel

4
Harici klavyem için, hem sol hem de sağ seçenek tuşlarını kullanmak zorunda Esc+kaldım, sol seçenek tuşunu kullansam bile tuhaf karakterler yazdıracaktı. Bu , tuşları değiştirmek için Mac Klavye ayarlarında Klavye Değiştiricileri seçeneğini kullandığım için olabilir .
Grego'nun

130

Yer İşaretleri> Profilleri Yönet'e gidin . Ardından Klavye Profilleri> Genel'i seçin ve Meta olarak Seçenek Tuşu'nu seçin . Bu benim için 0.9.6.1201 sürümünde çalışır.


2
Global yerine xterm (OS X) girişini değiştirmek zorunda kaldım, ama şimdi çalışıyor.
Jason Axelson

Makinemde ayarın 0.9.6.1201 ve denediğim diğer birkaç yapıda neden bozuk olduğunu bilmiyorum. Bununla birlikte, en son 0.9.6 derlemesi ve 0.10 ile çalışır. Bu yüzden şimdi bir sorun olmamalı.
ejel

11
iTerm2 bu ben tanımlı yeniden sonra çalıştı Profili Kısayol Tuşları için alt+ ->ve alt+ <-için Escape Dizisini gönder + f/ bsırasıyla.
amirnissim

Tekmelemek için yeni bir iterm oturumu açmak zorunda kaldım
Skurpi

@SridharRatnakumar iTerm için de çalışıyor
Krzysztof Wende

31

Menü çubuğunda Iterm2 => Tercihler => Profiller, tuşlar sekmesini ve ardından

sol Seçenek tuşu + Esc işlevi görür

resim açıklamasını buraya girin

irssi de benim için çalıştı.


Mükemmel, bu aynı zamanda iTerm2 + tmux
TheJavaGuy-Ivan Milosavljević'in


5

İTerm2 kullanıyorum ve benim için bu cevap sorunumu kısmen çözdü:

Cmd+ ,=> Profiller => Tuşlar ve Sol seçeneğini belirleyin Anahtar şu şekilde davranır: + Esc .

resim açıklamasını buraya girin

Buna ek olarak, Cmd+ ,=> Profiller => Anahtarlar'a gitmek zorunda kaldım ve Anahtar Eşlemeleri listesinde her iki Anahtar Kombinasyonu s: resim açıklamasını buraya girinve resim açıklamasını buraya girinonları çift tıklatıp kısayollarını aşağıdaki gibi değiştirmeliyim:

resim açıklamasını buraya girin

resim açıklamasını buraya girin

* Kaçış Dizisi Gönder eylemini seçtiğinizden emin olun .


Bu gerçekten faydalı. Çok teşekkürler kanka!
LeOn - Han Li

4

Burada tüm zombi dirilişine gidiyor, ama gelecek kuşaklar için -

Bu yazı , benim için, Mb ve Mf için istediğiniz gibi çalışmasını sağladı ve 'Meta olarak Seçenek Anahtarı' ayarını değiştirdi, böylece bir değiştiriciden fedakarlık etmeyin (kişisel olarak meta kullanarak vim eşlemlerim var).

Özet olarak, Global Klavye Profilinize ayarlarla iki yeni eşleme ekleyin:

  1. Onaltılı kod olarak anahtar, b için 62, f ( man ascii) için 66 değeri
  2. Seçenek Olarak Değiştirici
  3. Gönderme kaçış sırası, b veya f değeri olarak eylem

Terminal.app'dan hala özlediğim tek şey Opt-Backspacekelime ile silmektir. Bunun için başka çözümler var, ama sadece kendimi kullanmak için eğitmeye çalışıyorum Ctrl-w.


Bu yanıt beri yeni bir özellik olabilir, ancak gönderme için Küresel Anahtar kısayol haritalayabilirsiniz Ctrl-wzaman Opt-Backspacebasılır.
Steve Buzonas

4

İTerm2'de daha kolay. Tercihler-> yer imi-> klavyeye gidin ve Seçenek gönder + ESC'yi seçin. İTerm2'de sol ve sağ seçenek tuşlarını ayrı ayrı yapılandırabilirsiniz, bu nedenle her ikisini de istediğiniz gibi değiştirmeyi unutmayın. İTerm2 bağlantısı : http://sites.google.com/site/iterm2home/


2

Yer İşaretleri> Profilleri Yönet'e gidin. Ardından Klavye Profilleri> Genel'i seçin ve + ESC olarak Seçenek Tuşu'nu seçin.

İTerm Build 0.9.5.0611 ve Build 0.9.6.20090415'te çalışır


Hmm. Ayarı bu iki sürümü ile makinemde kırık gibi görünüyor. Ancak, en son 0.9.6.20090928 ve 0.10 beklendiği gibi çalışır.
ejel


0

"Export LANG = C" komutunu deneyin. Emacs uzmanı değilim, ancak OS X'teki emacs'ın Option tuşunu iTerm'de Meta anahtarı olarak tanımasını sağladığını buldum,


0

İTerm'i bilmiyorum, ama bunu Terminal'de yapabilirsiniz. Talimatları burada bulabilirsiniz:

Mac OS X Leopard anahtar bağlarında Emacs


Teşekkür ederim. Bunu Terminal'de yapabileceğimin farkındayım. Sadece aynı sonucu iTerm'de elde etmek istiyorum. Bu arada, aradığım şey emacs değil, bash kabuğundaki anahtar bağlayıcı. Sadece bash kabuğu da emacs anahtar bağlama kullanır.
ejel

0

İşte benim için işe yarayan: Yer İşaretleri> Profilleri Yönet> Klavye Profilleri> Global / xterm> Option Key as + Esc. Bununla, Midnight Commander'da Option + Enter tuşlarını kullanabilirim ve seçili olan dosya / dizin adı komut dizesinde olması gerektiği gibi görünür. Meta olarak Seçenek Anahtarı benim için çalışmadı. İTerm derlemem 0.10.

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.