Ulangi mengetik di OSX bash

9

Dalam bash di OSX saya bisa lakukan ctrl-_untuk membatalkan apa yang baru saja saya ketik. Apakah ada perintah redo yang sesuai?

amindfv
sumber
2
Saya telah melakukan melihat cepat di halaman manual readline (3) dan saya tidak dapat menemukan apa pun tentang perintah redo / short-cut. readline (3) adalah perpustakaan yang bertanggung jawab atas pintasan dan fitur bersejarah di bash. Jika Anda tertarik, Anda bisa melihat manualnya di sini unixhelp.ed.ac.uk/CGI/man-cgi?readline+3 . Ada semua pintasan default yang tercantum di halaman manual ini.
Bruno Coimbra
@ BrunoCoimbra: sepertinya tidak ada apa-apa, tapi terima kasih untuk referensi.
amindfv

Jawaban:

4

ctrl-yadalah perintah Readline 'yank' yang mengambil kill kill. ctrl-umembunuh dari titik ke awal baris (mirip dengan OSX / bash ctrl-_yang membersihkan seluruh baris). Binding Readline seperti Emacs diaktifkan dalam bash dan subset diaktifkan di banyak tempat lain (bilah pencarian browser dll).

  • ctrl-u bunuh dari awal garis ke titik penyisipan
  • ctrl-k bunuh dari titik penyisipan ke ujung baris
  • ctrl-w bunuh kata sebelumnya (dan tambahkan untuk membunuh buffer)
  • ctrl-y isi dari kill buffer
idoimaging
sumber
1
Saya mendapatkan perilaku yang berbeda (di Terminal di OS X dan XTerm dan Emacs di Fedora) - ctrl-_membatalkan apa pun tindakan terakhirnya, dan juga ctrl-ymengambil teks yang terbunuh, bukan hanya dengan ctrl-u. Namun, saya belum pernah mendengar ctrl-ysebelumnya - terima kasih!
amindfv
Mengedit jawaban saya untuk mengatakan 'Readline' daripada 'Emacs', meskipun banyak ikatan utama dibagikan, juga untuk memperluas definisi buffer kill. Perintah Readline kill-whole-line, yang melakukan hal yang sama dengan Anda ctrl-_, tidak terikat secara default - Saya selalu bertanya-tanya apakah ada perintah kill-whole-line. Saya menggunakan ctrl-a-k( awal-line-line kill-line ) untuk membunuh seluruh baris.
idoimaging
7
Bagi saya, ctrl-_jangan bunuh seluruh baris, meskipun - ini adalah perintah undo
amindfv
4
Dan itu juga tidak menjawab pertanyaan.
suzanshakya