it-swarm-tr.com

OS X Terminalinde imleci Word'ü sözcükle hareket ettirmenin bir yolu var mı?

Kombinasyonu biliyorum Ctrl+A Geçerli komutun başına atlamak için Ctrl+E sonuna kadar atlamak için.

Ancak, Word'ü Word gibi atlamanın bir yolu var mı? Alt+/ Kakao uygulamalarında mı?

720
Arne

Kutunun dışında oldukça tuhaf kullanabilirsiniz Esc+F Bir sonraki kelimenin başlangıcına gitmek Esc+B Geçerli Word'ün başına gitmek için.

522
Kristian J.

Mac OS X'te - aşağıdaki klavye kısayolları varsayılan olarak çalışır. Terminal tercihlerinde Option anahtarının Meta gibi davranması gerektiğini unutmayın (klavye sekmesi altında)

  • alt (⌥)+F atlamak F bir Kelime tarafından ileriye doğru
  • alt (⌥)+B atlamak B bir Word tarafından onaylanmadı

Varsayılan emacs öğelerinin basit metin gezinti için anahtar ciltlemelerin bash kabukları üzerinde çalıştığını göründüğünü gözlemledim. Kullanabilirsiniz

  • alt (⌥)+D Geçerli imleç konumundan başlayan bir Word’ü silmek için
  • ctrl+A çizginin başlangıcına atlamak
  • ctrl+E çizginin sonuna atlamak
  • ctrl+K imleç konumundan başlayan çizgiyi öldürmek için
  • ctrl+Y kill tamponundan metin yapıştırmak için
  • ctrl+R Geçmişte yazdığınız komutları aramayı geçmişinizden tersine çevirmek için
  • ctrl+S ileriye doğru arama yapmak (benim için zsh ile çalışıyor ama bash değil)
  • ctrl+F karakter ile ilerlemek
  • ctrl+B karakter ile geriye doğru gitmek
  • ctrl+W Word'ü imleç konumundan geriye doğru kaldırmak için
384
Varun Katta

İşte nasıl yapabilirsiniz

Varsayılan olarak, Terminal'in (sol ve sağ) Word-to-Word'ü taşımak için bu kısayolları vardır:

  • esc+B (ayrıldı)
  • esc+F (sağ)

Yapılandırabilirsiniz alt+ ve  bu dizileri sizin için oluşturmak için:

  • Terminal tercihlerini aç (cmd+,);
  • Ayarlar sekmesinde, Klavye'yi seçin ve varsa ⌥ ← öğesini çift tıklatın veya değilse ekleyin.
  • Değiştiriciyi istediğiniz gibi ayarlayın ve kısayol tuşunu kutuya yazın: esc+B, \033b metnini oluşturarak (bu metni manuel olarak yazamazsınız).
  • Word-right için tekrarla (esc+F \033f olur

Alternatif olarak, bu blog gönderisine textmate adresinden bakabilirsiniz:

http://blog.macromates.com/2006/Word-movement-in-terminal/

273
Fil

Geçiş iTerm2 . Ücretsiz ve eski düz terminalden çok daha hoş. Ayrıca klavye kısayolları gibi kişiselleştirme için çok daha fazla seçenek var.

Ayrıca kullanabileceğini seviyorum cmd ve sekmeler arasında geçiş yapmak için 1-9. Deneyin ve asla normal terminale geri dönmeyeceksiniz :)

iterm2'de özel klavye tercihleri ​​nasıl ayarlanır

  • İTerm2'yi yükleyin
  • Başlatın ve sonra tercih bölmesine gidin.
  • Klavye profilleri sekmesini seçin
  • Profilinizi yeni bir şeye kopyalamanız ve ardından gibi ok tuşu kısayollarını silmeniz gerekir. ^Right/Left veya bir yedeklemeyi umursamıyorsanız, onları varsayılan profilden silmeniz yeterlidir.
  • Ardından, değiştirilmiş profilinizin seçili olduğundan emin olun (yıldızlı)

Picture 1.png

  • Şimdi klavye sekmesini seçin (en üst sıra)

iTerm 2

  • Yeni bir klavye kısayolu eklemek için artı düğmesine tıklayın.
  • İlk kutuda CMD+Left arrow
  • İkinci kutuda "kaçış kodu gönder" i seçin
  • Üçüncü kutuya mektubu yazın B

Picture 2.png

  • İstediğiniz tuş kombinasyonları ile tekrarlayın. escape+B bir Word'ü sola taşır, escape+f bir Word'ü sağa taşır.
  • ayrıca kurmak isteyebilirsiniz cmd+d İmlecin önündeki Sözcüğü silmek için escape+d

Sık sık yanlış düğmeye basarım (cmd / control / alt) bir ok tuşuyla ve bu yüzden ok tuşları ile tüm kelimeleri ileri ve geri atlamak için ayarlanmış bu düğmelerle kombinasyonum var ama lütfen size en uygun olanı yapın.

157
cwd

Aslında daha iyi bir yaklaşım var. Ambar option ( alt bazı klavyelerde) ve Word'e göre hareket etmek için sola veya sağa ok tuşlarına basın. Bu kadar basit.

option
option

Ayrıca ctrle seni çizginin sonuna götürecek ve ctrla seni başlangıcına götürecek.

142
mdubez

Sahibim Alt+/ working: open Tercihler "Ayarlar" Klavye , soldaki seçenek imleci girişini ayarlayın ila Shell'e dize gönderir:\033b , ve seçenek imlecini sağa ayarlayın (, Shell'e: = 033f dizesini gönderir. Bunu diğer Kontrol tuş kombinasyonları için de kullanabilirsiniz.

78
Peter Hilton

Aslında hangi Shell'i kullandığınıza bağlı, ancak çoğu kabuk benzer bağlara sahip. Bahsettiğiniz ciltlemeler (ör. Ctrl+A ve Ctrl+E) birçok başka programda bulacağınız ciltlemeler ve yaş için kullanılırlar, BTW çoğu kullanıcı arabirimi uygulamasında da çalışır.

İşte Bash için varsayılan ciltlemelerin bir görünümü:

En Önemli Bash Klavye Kısayolları

Lütfen bunları özelleştirebileceğinizi unutmayın. Bir dosya oluşturmanız, istediğiniz gibi isim vermeniz, benim .bash_key_bindings ismini verdim ve ev dizinime koydum. Orada bazı genel bash seçeneklerini ve anahtar ciltlemelerini ayarlayabilirsiniz. Uygulandıklarından emin olmak için, bash'nın okuduğunda okuduğu ". Bashrc" adlı bir dosyayı değiştirmeniz gerekir (oluşturmanız gerekir, eğer yoksa) ve aşağıdaki çağrıyı orada yapın:

bind -f ~/.bash_key_bindings

~, yukarıda belirtildiği gibi, bash içindeki ev dizini anlamına gelir, dosyayı istediğiniz gibi adlandırabilir ve aynı zamanda ciltlenecek doğru yolu + adı beslediğiniz sürece istediğiniz yere yerleştirebilirsiniz.

.Bash_key_bindings dosyamın bazı bölümlerini size göstereyim:

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

Bunlar sadece birkaç seçenek belirledi (örneğin, zili devre dışı bırakın; bunların tümü bash web sitesinde bulunabilir).

"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

Bunlar, karakterlerin tek başına sadece hiçbir şey yapmadığından ve karakterin "yazıldığından" emin olduklarından emin olurlar (kendilerini Shell'e eklerler).

"\C-dW": kill-Word
"\C-dL": kill-line
"\C-dw": backward-kill-Word
"\C-dl": backward-kill-line
"\C-da": kill-line

Bu oldukça ilginç. Vurursam Ctrl+D yalnız (silmek için d seçtim) hiçbir şey olmuyor. Ancak daha sonra küçük bir harf w yazarsam, imlecin solundaki Word silinir. Bununla birlikte, büyük bir harf yazarsam, imlecin sağındaki Kelime öldürülür. Aynı imleçten başlayarak bütün çizgi için l ve L için de geçerlidir. Bir "a" yazarsam, tüm satır aslında silinir (imleçten önceki ve sonraki her şey).

İleriye bir Word atladım Ctrl+F ve bir kelime geriye doğru Ctrl+B

"\C-f": forward-Word
"\C-b": backward-Word

Gördüğünüz gibi, hemen bir eyleme neden olan bir kısayol oluşturabilir ya da sadece bir karakter dizisini başlatan bir tane yapabilir ve ardından bir eylemin gerçekleşmesi için bir (veya daha fazla) karakter yazmanız gerekir. yukarıdaki örnekte daha fazla gösterilmiştir.

Bu nedenle, varsayılan ciltlemeden memnun değilseniz, onları istediğiniz gibi özelleştirmek için çekinmeyin. İşte bir bash el kitabına bağlantı daha fazla bilgi için.

38
Mecki

Eğer bir Vim kullanıcısıysanız, bash'in vim modunu deneyebilirsiniz. Bunu çalıştırın veya ~/.bashrc dosyanıza yerleştirin:

set -o vi

Varsayılan olarak ekleme modundasınız; kaçış tuşuna bastığınızda normal mod Vim'de olduğu gibi dolaşabilirsiniz, bu nedenle Word ile hareketler w veya b'dır ve normal hareket tuşları da çalışır.

14
jches

Tercihlerin klavye sekmesinde Use option as meta key öğesini kontrol ederseniz, varsayılan emacs stili ileri ve geri Word ve ⌥F komutlarını kullanır (Alt+F) ve ⌥B (Alt+B) sırasıyla.

Okumanızı tavsiye ederim Bash'den Z-Shell'e . Bash/zsh kahramanlığınızı arttırmak istiyorsanız!

14
Matt

Mac OS X Lion 10.7'den itibaren, Terminal haritaları Option-Left/Right Arrow için Esc-b/f varsayılan olarak, bu nedenle bu emacs uyumlu tuş bağlamalarını kullanan bash ve diğer programlar için yerleşiktir.

12
Chris Page

Bash’te bunlara bağlı Esc-B ve Esc-F. Bash, çok, çok daha fazla klavye kısayoluna sahiptir; ne olduklarını görmek için bind -p çıktısına bir göz atın.

8
Andy Lynch

iterm2 'ın Tercihler> Profil> Tuşlar altında, aşağıdaki + ( Anahtar Eşlemeleri ve yeni bir kısayol kaydedin. Eyleminde , Send Escape Sequence öğesini seçin ve sırasıyla geriye ve ileriye doğru b veya f yazın.

Bir tane kaydetmeye çalıştığımda (Ctrl+), Klavye Kısayolu alanında okun hiç görünmediğini fark ettim. Varsayılan mac'ların Sistem Tercihleri> Klavye> Kısayollar> Görev Denetimi kısayollarını, iterm2'lerin geçersiz kılacağı şekilde çalışmasını sağlamak için devre dışı bırakmak zorunda kaldım varsayılan kısayollar. Standart terminal uygulaması için de doğru olmalı.

Keyboard system preferences

3
qix

Seçenek tuşunu basılı tutun ve imlecin hareket etmesini istediğiniz yere tıklayın

3
Dan Alboteanu

Kullan Doğal Metin Düzenleme preset!

 enter image description here 

Temelde, diğer tuş dizileri arasında, Option + LeftArrow'u ^[b dizisine ve Option + RightArrow'ı ^[f'a bağlar

Bu, balık ve levhanın yanı sıra psql terminalinde de çalışır.

1
Dziamid