iTerm - bir kelime ileri ve geri gitmek


164

İTerm 2'yi bir klavye kısayolu kullanarak komut satırındaki geçerli metin boyunca bir sözcük geri ve ileri gidecek şekilde yapılandırmak mümkün mü?


14
Bu soruya gerçekten cevap vermiyor ama önemli: imleci oraya hareket ettirmek için komut satırında herhangi bir yere seçenek + tıklayabilirsiniz.
David Winiecki

Doğru cevabı kabul etmiyor için Downvoting
pi-

@ Pi- Neden kabul edilen cevabın doğru olmadığını düşünüyorsunuz? 1. En çok oylanandan neredeyse 3 yıl önce ortaya çıktı. 2. Varsayılan olarak çalışmayan bir çözüm sunar.
syntagma,

Yanıtlar:


47

Ctrl-[ bbir kelimeyi geri atlar. Bunun Escyerine veya öğesini Ctrl-[ve fileri gitmek için de kullanabilirsiniz .

Bu Ctrl+ [sürüm ve sonra bveya f. Veya Escve bveya f.

AskDifferent hakkındaki bu diğer tartışmada daha fazla bilgi bulunabilir .


3
Her kelime için bir tuş sırası yazmak zorunda kalmanın tersine, bir düğmeyi basılı tutarken hızlıca birçok kelimeyi geri döndürmenin bir yolu olsaydı bu daha iyi olurdu.
user1717828

"Ctrl- [" nedir?
Shihao Xu

"Ctrl- [" ile "Ctrl" ve "[" tuşlarına aynı anda basmak istiyorum.
Volsk

322

Bir topla bir sineği öldürmek:

  • Git Tercihler ... > Profiller > Keys
  • Preset Yükle düğmesine basın .
  • Doğal Metin Düzenlemeyi Seçin

Sonra kullanarak geriye bir kelime taşıyabilirsiniz Option ⌥+ ve kullanan bir kelime ileri Option ⌥+ kullanarak satırın başlangıcına taşımak fn+ ve paralel sonuna fn+ . Ayrıca Option ⌥+ tuşlarını kullanarak geriye doğru bir kelimeyi silebilir, Command ⌘+ tuşunu kullanarak tüm satırı silebilirsiniz .

Ön ayar görünmüyorsa, iTerm2'yi yeniden yükleyin. Homebrew + Cask kullanarak yüklediyseniz:

brew cask reinstall iterm2

48
Bu kabul edilen cevap olmalı!
guyarad

3
Bu benim için çalışmıyor. Parametreler: iTerm2 3.1.2, macOS 10.12.6, almanca Klavye. Ve yalnız değilim ...
t0r0X

2
Bu harika ve ihtiyaçlarınızın çoğunu ekleyecektir. Bununla birlikte, 'CMD + sol ok / sağ ok' ile satırın başına / sonuna gitme özelliği eklenmez. Bu işlem için bakınız: stackoverflow.com/questions/6205157/…
MikeyN0

35
Bu cevabı gördükten sonra hayatım değişti. Karımdan boşandım, şimdi bir süpermodelin olduğu bir Lambo'dayım.
Dragos Rizescu

12
Bunun Tercihler> Tercihler > Tuşlar> Tercihler Değil Ön Ayarları Yükle> Tuşlar> Tercihleri ​​Yükle
kevin

148

Aşağıdaki kurulumu seviyorum.

  1. Tercihler> Tuşlar (veya Tercihler> Profiller> Tuşlar)
  2. Artıya tıklayın.

bir kelime ileri git

option+right
send escape sequence
f

bir kelime geri git

option+left
send escape sequence
b

kelimenin başlangıcına sil ( kredi )

option+delete
send hex code
0x1B 0x08

kelimenin sonuna kadar sil

fn+option+delete
send escape sequence
d

(Kesin olarak hatırlamıyorum ama sanırım bu cevabı Jherran'ın cevabından aşağıya yazdım ve daha fazlasını eklediğimi düşünüyorum. Ekstra bilgiyi de yorumlara eklemeliydim ya da bu cevabın önerdiği düzenlemeleri eklemeliydim. durum, ama şimdi biliniyor.)


2
MacOS 10.12'de, kelimenin başlangıcına kadar silmek için altıgen kod 0x17 kullanmam gerekiyor
midopa

macOS 10.12 ve zsh ile bir cazibe gibi çalışır
Sébastien

1
şimdiye kadarki en iyi cevabı benden bir bira var :)
sonsuzluk

1
Jeraran'ın cevabını yükseltmeyi düşün. Sanırım onların cevabını biraz geliştirdim ve muhtemelen kendi cevabımı oluşturmak yerine bir düzenleme önermeliydim. Çalmış gibi hissediyorum.
David Winiecki

Başvurulan bu : Esc-b yapmak, ben göndermek zorunda kaldı 0x1b 0x42ve Esc-f, ben göndermek zorunda kaldı 0x1b 0x46: D
Meredith

36

İlerletmek için (Alt-f), Geri (Alt-b) ve Sil (Alt-d) Word'ü

  1. İTerm'i açın.
  2. İTerm> Tercihler ...> Profiller> Anahtarlar
  3. Profil Kısayol Tuşları altında, + işaretini tıklayın.
  4. Anahtar kısayolunuzu yazın (seçenek-b, seçenek-f, seçenek-d, seçenek-sol, vb.)
  5. Eylem için Kaçış Sırası Gönder'i seçin.
  6. Giriş alanına b, d veya f yazın.

Bu en azından bash için çalışıyor. Zsh için gezinmenin başka yolları da var.


2
Bir seçenek + sağ kısayol eklemeye çalıştım ve bir çatışma hakkında bir uyarı mesajı aldım, çünkü hem Tercihler> Tuşlar> Genel Kısayol Tuşları hem de Tercihler> Profiller> Tuşlar> Profil Kısayol Tuşları'nda tuşları yapılandırabileceğinizi fark etmedim. Varsayılan profilde yapılandırmak çalıştı.
David Winiecki

1
Zsh için de çalışıyor!
Andrii Abramov

2
Bence cevabınız (aynı çözüme göre) en kolay anlaşılan +1
nzaleski

1
Çok faydalı açıklama.
Conti

Mükemmel. Command + F etc komutunu da kullanabilirsiniz, böylece "Alt" tuşu aynı konumdadır ve PC ile Mac arasında geçiş yaparken hiçbir ayar gerekmez.
friederbluemle

12

Diğer cevaplara benzer, ancak Zsh için bunu bulmam biraz zaman aldı:

İTerm'de Zsh, Oh My Zsh gibi kullanıyorsanız, ardından Git: Tercihler> Profiller > Anahtarlar alt menüsü

+ İşaretini tıklayın

Kısayol kombinasyonunuzu ekleyin, "Kaçış Sırası Gönder" i seçin

sol ve sağ alt için girişler.

ayrıldı:

[1;5D

sağ:

[1;5C

1
Hayat arkadaşımı kurtardın
thibaut noah

Bu benim için çalışan tek çözüm
Bryji

Sonunda işe yarayan basit bir çözüm: D Bizimle paylaştığınız için teşekkür ederiz!
Periback,

Cevap bu olmalı. Upvoted.
ehime

2

set -o viNormal vi hareket komutlarını kullanabilmek için terminalinizi vi moduna getirebilirsiniz ( .bash_profileayarı kalıcı olarak kaydetmek için satırı ekleyin ).

Böylece vi'de sanki bir kelimeyi geriye doğru hareket ettirmek ( ileri) için, satırın başına gitmek veya + karakteriyle geriye doğru bir karakter aramak için Esctuşuna basabilirsiniz .bw0F

Hit iNormal mod ve ekleme geri dönmek için.

Vi ile aşina olanlar daha fazlasını yapabilirler. Burada bir kopya kağıdı bulunabilir .


2
vim her şeyi çözer! : D
Breno Salgado

Satır başına sadece bir kez gitmek, Escardından vurmak Ibiraz daha az uygundur Ctrl-a- bu kullanım durumu, sadece komut ismini değiştirmek istediğinizde ortaya çıkar. Bu yüzden iTerm2'deki bazı anahtarlık değişikliklerini haritalandırmak Ctrl-Ave kaçış sırasına benzemek için vi modunu kullanıyorum Esc+0. Bu şekilde, bu durumlar düzenleme modunda sona erdiğinde daha da hızlıdır.
rfabbri

1

görüntü tanımını buraya girin

Tercihleri ​​Aç

Esc + göndermek için Sol (ve / veya) Sağ Seçenek tuşunu yapılandırın

Ön ayarlarınızı karıştırdıysanız, varsayılan ön ayarı yüklemeniz gerekebilir (bunun, özel tuş vuruşlarınızı silebileceğine dikkat edin!)

görüntü tanımını buraya girin

Bunu yaptıktan sonra garip karakterler görürseniz, ~ / .inputrc veya / etc / inputrc dosyanızı yapılandırmanız gerekebilir.

Bunu ~ / .inputrc dosyasına ekleyin:

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

tam örnek inputrc:

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.

# Be 8 bit clean.
set input-meta on
set output-meta on

# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

-1

İTerm2 3.1.4 ile, bireysel anahtar eşlemeleri eklemeden aşağıdakileri ayarlayabildim.

  1. Git Tercihler> Profiller> Keys
  2. Sol / Sağ ⌥ Tuşu: Esc + seç

Yeni bir Terminal oturumu ile artık kullanabilirsiniz:

Option ⌥+ fİlerlemek

Option ⌥+ bİlerlemek

Option ⌥+ Delete ⌫Kelime Silme


2
Bu, diğer yüksek oyladığınız cevaptan ne kadar farklı? apple.stackexchange.com/a/293988/237
user151019
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.