Misalkan dalam bash Anda mulai menulis perintah seperti:
$ rm -rf /foo/bar/really/long/path/here
dan kemudian sadari bahwa Anda tidak ingin melakukan ini. Apakah ada cara untuk menghapus input dengan satu atau dua penekanan tombol?
Apa yang saya lakukan akhir-akhir ini adalah menambahkan gema dan menyertakan input dalam tanda kutip (Ctrl + A echo "
,, Ctrl + E, "
) lalu menekan enter. Apakah ada cara yang lebih cepat?
Jawaban:
Tekan Ctrl- Uuntuk menghapus semuanya sebelum kursor. Perintah yang dihapus akan disimpan ke dalam buffer. Tekan Ctrl- Yuntuk menempelkan perintah yang dihapus.
(Opsional: Tekan Endatau Ctrl- Euntuk melompat ke ujung input terlebih dahulu.)
Atau, tekan Ctrl- Cuntuk membatalkan apa yang Anda ketikkan.
sumber
stty -a
. Dan itu akan bekerja dengan program apa pun yang tidak secara aktif memodifikasi kontrol terminal.Coba Ctrl+ U. Itu membersihkan jalur input.
sumber
Menemukan referensi singkat di http://www.ice2o.com/bash_quick_ref.html saat mencari .
ctrl+ e(jika tidak di akhir baris) plus ctrl+ uakan melakukannya.
sumber
Ctrl- U, Ctrl- Kmelakukan triknya juga.
Ctrl- Umenghapus semuanya dari awal baris hingga kursor, Ctrl- Kmenghapus semuanya dari kursor hingga akhir baris. (Terkadang berguna hanya menggunakan salah satunya saja.)
sumber
Ada dua opsi untuk melakukan ini
ctrl+ c- ini menghapus seluruh baris, di mana pun kursor berada.
ctrl+ u- ini menghapus garis dari posisi kursor hingga awal.
sumber
Jalan pintas yang bagus adalah menekan Esc#. Ini akan menambahkan
#
karakter (sehingga membuat baris menjadi komentar) dan kemudian tekan enter. Jika Anda kemudian memutuskan bahwa Anda masih membutuhkan perintah, Anda masih memilikinya di riwayat Anda :)sumber
Menekan Escplus Backspacedalam bash akan menghapus semuanya hingga ke posisi kursor.
(Dalam Cygwin, ini akan menghapus input hingga kata berikutnya. Kata-kata dipisahkan oleh spasi, garis bawah, ...)
sumber
Pertimbangkan bahwa menggunakan Ctrl- U(atau Ctrl- Edan kemudian Ctrl- U) akan menyimpan apa yang Anda hapus dalam buffer sehingga Anda dapat menempelnya nanti menggunakan Ctrl- Y.
sumber
Jika Anda menggunakan Bash dalam mode vi (atur dengan
set -o vi
), lalu tekan Escuntuk beralih ke mode normal vi, dan ketikdd
untuk menghapus baris saat ini!sumber
Ini adalah perluasan dari jawaban knittl yang menyimpan baris dalam sejarah konsol dengan awalan dengan hash. Mengatasi kekurangan clipboard, seperti menimpa yang tidak disengaja atau tidak dapat melihat garis potong untuk referensi.
Baris Komentar & Kembalikan Prompt Baru
Gunakan salah satu cara pintas tombol:
Karakter hash
#
akan ditambahkan ke baris, sehingga mengubah seluruh baris menjadi komentar. Ini juga akan mengembalikan prompt baru, seolah-olah masuk ditekan oleh pengguna. misalnyaAmbil Baris yang Dikomentari
Untuk memulihkan garis lama dari riwayat konsol gunakan salah satu cara pintas berikut:
Ulangi pintasan tombol sampai garis yang diinginkan muncul.
Penghapusan Awalan Cepat Hash
Untuk menghapus
#
awalan hash baris ada beberapa opsi yang tersedia:Hapus karakter pertama dan segera jalankan perintah:
Pindahkan kursor untuk memulai dan menghapus karakter pertama, tanpa menjalankan perintah:
sumber
Untuk menghapus baris saat ini, coba:
Ctrl- X, Ctrl-U
Sebagai alternatif, Anda dapat menggunakan:
Esc-D
yang membutuhkan ~ / .inputrc:
lihat: http://codesnippets.joyent.com/posts/show/1690
sumber
"\e\e": kill-whole-line
(harus tekan dua kali tombol esc)