OS X'teki terminalden komutu temizle


24

Diyelim ki 'mv * .jpg .. \ photos' terminaline bir komut yazdım ve yazarken fark ediyorum ki artık bu komutu yürütmek istemiyorum. Sadece tüm ifadeyi silmek istiyorum. Tüm ekranı temizlemek veya herhangi bir bash geçmişini silmek istemiyorum Sadece geçerli satırı iptal edip silmek istiyorum.

Klavye kısayolu var mı veya her karakteri gerçekten silmek zorunda mıyım?

Yanıtlar:



7

Eğer bir komut satırı yazın ve sonra almak, bash dahil olmak üzere bu çizgiyi yürütmek için bekleyin o Birçok program Ctrl+ C“Geçerli görevin İptal ve ana istemi geri dönmek” anlamında.

Bash dahil olmak üzere birkaç program, “satırın başlangıcını, imlece kadar sil” (veya “tüm satırı sil”) anlamına gelenCtrl + U( OS X'teki terminalden komutu temizle) komutunu alır .

Bash'da, Ctrl+ Cve Ctrl+ Uarasındaki gözlemlenebilir farklılıklar şunları içerir:

  • Sen geri alabilirsiniz Ctrl+ Uancak, Ctrl+ C.
  • Ctrl+ U, varsa satırın imleçten sonraki kısmını korur.
  • Ctrl+ Uetkilenen metni ekrandan siler; Ctrl+ Cgeçerli satırın altında yeni bir bilgi istemi gösterir.

Bazen bir komut yazmayı durdurmak, ancak daha sonra çalıştırmak için kabuk geçmişine girmek istersiniz. Yararlı bir numara, #satırın başına a koymak ve yürütmektir: satır şimdi bir yorum olduğundan, hiçbir şey yapmaz. Bash'da tek tuşlu bir kısayol var: Alt+ #.


2

Bir Orada readlinemuhtemelen adlı bir tuş bağlı olmayan fonksiyon kill-whole-linesadece imlecin önce kısmını öldürme aksine bütün çizgi öldürecek ( unix-line-discardbiraz bir yanlış isim ve bağlı olduğu Ctrl- u).

Bunu mevcut herhangi bir tuşa bağlayabilirsiniz. Seviyorum ShiftAlt- Uçünkü ilgili bir işlev. Bu tuşa bağlı olabilir, do-lowercase-versionbu da değiştirilmemiş sürümün yaptığı her şeyi yapar (bu durumda upcase-word). Bunu yapmak için gerçekten iki anahtara ihtiyacımız olmadığından, bunu kullanalım.

Bağlamayı şu şekilde oluşturarak komut satırında deneyebilirsiniz:

bind '"\eU":kill-whole-line'

veya bu satırı ~/.inputrcdosyanıza koyarak kalıcı hale getirin :

"\eU":kill-whole-line

A Ctrl- uveya ShiftAlt- U(veya geri alınamayan herhangi bir işlemi) geri almak için Ctrl- Shift- _(alt çizgi) veya Ctrl- x Ctrl- u(iki tuşa basma) tuşuna basın . Veya tuşuna basarak öldürdüğünüzü geri yapıştırabilirsiniz Ctrl- ybu metnin birden çok kopyasını istiyorsanız tekrarlayabilirsiniz.

Bu arada, imleçten satırın sonuna kadar metni öldürmek istiyorsanız Ctrl- tuşuna basabilirsiniz k. Yani yukarıda açıklanan bağlamayı yapmak yerine, Ctrl- u Ctrl- tuşlarına basarak bütün bir satırı öldürebilirsiniz k. Bu tuş vuruşlarının sadece ikincisi tarafından öldürülen kısım, öldürme arabelleğine kaydedilir, ancak ikisini kurtarmak için yine de iki kez geri alabilirsiniz.

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.