Bash olarak ctrl + T'nin kullanımı mı?


47

Bash'in imleçten önceki son iki karakteri değiştiren ctrl+ için kısa bir kesim olduğunu fark ettim T.

Mühendislerin bunu neden dahil etmeye karar verdiklerini merak ediyorum.

  • Önceki bir sözleşmeden miras kalmıştır?
  • Yoksa bunun yaygın olarak kullanıldığı pratik bir amaç var mı?

13
Cevap değil, ama bu böyle değil bash, readline(bash komut isteminde girdi için kullanır). Sizin bash emacsanahtar bağlama kullanıyor ; Editör Savaşları partizanınız varsa vi anahtar bağlarını değiştirebilirsiniz;) sanctum.geek.nz/arabesque/vi-mode-in-bash Burada "birkaç sayfa" readlinevar: readline.kablamo.org/emacs .html ve readline.kablamo.org/vi.html .
John N,

13
Tarihsel olarak, özellikleri düzenlerken Emacs tarzı komut satırı başlangıçta Bash geliştirilmiştir ve sonra ayrı bir kütüphane dönüştü - ama bu 1989 yılında ilk giriş ilk sürümü daha önce oldu şuna ipuçları. Bu yüzden başlangıçta kısayol, kısa bir süre olsa da dahil olmak üzere Bash'in içinde ele alınmıştı - ancak kısayol Emacs'tan Bash'e geldi (Emacs'ta mı icat edildi mi yoksa başka bir yerden mi geldiğini bilmiyorum). readline ChangeLogreadline
Stephen Kitt

Yanıtlar:



63

Yazım hatalarını hızlı bir şekilde düzeltmek çok yararlıdır:

sl

olur

ls

bir tek ile CtrlT.

AltTKelimeleri değiştirmek için de kullanabilirsiniz ( örneğinservice ve systemctl... arasında geçiş yaparken ).

Tarihsel olarak konuşursak, bu CtrlTözellik her ihtimalde Emacs'tan Bash'e geldi. Muhtemelen başka bir editörden Emacs'a kopyalanmıştır; 1980’de Stanford’un E editöründe (bkz. Essential E sayfa 13) ve E’nin Richard Stallman’ı ( Özgürlük’te olduğu gibi Özgür olarak tanımlandığı gibi) üzerinde güçlü bir etkisi vardı . 1989’daki ilk yayınlanmadan önce, readlinebugün yaşadığı kütüphaneye çekildiğinde, Bash’in çok erken sürümlerinde uygulandı readline ChangeLog.


2
Kelimeleri
değiş tokuş etmek

Alt + T'ye sayısal bir argüman vermek, imlecin üzerindeki kelimeyi imlecin o kelimeden önce n . örneğin: Alt + 2 Alt + T konumunda yapılırsa değişiklik word1 word2 word3yapar . word3 word2 word1word3
crw

crw güzel olurdu ama alt + T benim terminalimden kelimeleri değiştirmez. Ben sadece 'set title' menü başlığını açtım.
Philip Kirkbride

Bu utanç verici @PhilipKirkbride, terminal emülatörünüz sizi çok kullanışlı bir kısayoldan mahrum ediyor ...
Stephen Kitt

@PhilipKirkbride, menü erişim anahtarlarını devre dışı bırakmak için terminal emülatörünün bir seçeneği olmalı
Joril

15

emacsEditörden miras alınan bir ciltleme olan bu tuş birleşimi, yazılan son 2 karakterin, satırın sonunda, satırın ortasında kullanılan, imlecin solundaki ve karakterin altındaki karakterin yerini almasına neden olur. imleç.

Bir kaç tuş vuruşuyla kolayca elde edilebilecek nadiren kullanılan bir özellik için bağlayıcı olması boşuna görünebilir. Eski zamanlayıcılar oldukça sık kullanıyorum ve eskiden 70 baud modemlerin, 70'li yılların sonlarında, özellikle uzun çizgilerin ortasında, iletim zamanından tasarruf etmek için kullanılıyordu.

Alt+ Tİşaretine benzer ve daha kullanışlı bir komut, imlecin solundaki ve sağındaki kelimeleri çevirir.

Tseçildi, çünkü bu ilk devrik harf . Benzer kökene sahip olan diğer bağlayıcılar şunları içerir:

  • Ctrl+ B, geri gitmek için imleci bir konum sola hareket ettirir,
    • Alt+ Bimleci bir sözcük sola hareket ettirir,
  • Ctrl+ F, ileri doğru imleci bir konum sağa taşır,
    • Alt+ Fimleci bir sözcük sağa hareket ettirir,
  • Ctrl+ A, Anfang veya ante için imleci satırın başına getirir,
  • Ctrl+ E, için imleci satırın sonuna getirir,
  • Ctrl+ N, sonraki için , sonraki satırı alır,
  • Ctrl+ P, önceki için sonraki satırı alır,
  • Ctrl+ D, silmek için imlecin altındaki karakteri siler,
    • Alt+ Dimlecin altındaki kelimeyi siler,
  • Ctrl+ K, öldürmek için çizginin sonunu keser,
  • Ctrl+ Y, yank için pano içeriğini yapıştırır,

GNU okuma satırı paketinde uygulanan bu bağlamalar, bash gibi kullanıcı girişi için kullanılan tüm programlarda bulunur , ancak gdb , bc , ...

Bunlardan bazıları diğer ortamlarda da mevcuttur: Firefox URL giriş satırı, OS / X grafik arayüzündeki metin giriş alanları ve birçok X tabanlı pencere yöneticisi.

vim kullanıcıları ilgili ciltleyicileri bir ortam değişkeni ile seçebilirler.


Evet, bizim gibi bazen Emacs yerine bir terminale girdiğimizi unutanlar için harika; Firefox'un textarea widget'larını (şu anki gibi) kullanırken bu önemli bağları eksik olan hala yakalanıyorum. :-(
Toby Speight

Açıklamanızdaki ilgili komutların karakter ve kelime versiyonlarını eşleştirmenin bir yolu var mı? Bu tuş vuruşlarının Altve Ctrlsürümlerinin tutarlı bir şekilde ilişkili olduğunu anladığınızda, gerçekten hafızaya yardımcı olur .
Toby Speight

@TobySpeight GTK +, alternatif bir Emacs tarzı anahtarlık temasını destekler, böylece bu anahtarlıkların bazılarını Firefox'ta kullanabilirsiniz. C-tancak hiçbir şey yapmıyor gibi görünüyor. wiki.archlinux.org/index.php/GTK%2B#Emacs_keybindings
Candy Gumdrop

@TobySpeight hiç denediniz mi , Hepsi Metin! ? İstediğiniz editörde textareas içeriğini düzenlemenizi sağlar.
Stephen Kitt

Thanks @Stephen - Ben duydum ama denemedim (henüz). Bunu takip edeceğim ...
Toby Speight

10

Yanlışlıkla trasnced marullar çöpe teneke teneke wethre yuo haev düzeltmek için vrey useufl olduğunu.

(Her iki el bileğinde şiddetli RSI olması, bunu kişisel olarak çok kullanırım ...)


2
Gözlerim kanıyor
Temel

4

Çok hızlı bir şekilde düzeltilmiş yazım hataları. İmdattan önceki 2 düzeltici bloğu etkiler.

Yazdıysanız ls-ve lskısa çizgi arasında boşluk istiyorsanız Ctrl+ tuşlarını kullanabilirsiniz.T

Bu, kısa çizgi sonra boşluk bırakırsanız ve sonra Ctrl+T

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.