Jika saya menggunakan terminal dan mengetikkan baris teks untuk suatu perintah, apakah ada hotkey atau cara apa pun untuk menghapus / menghapus baris itu?
Misalnya, jika baris / perintah saya saat ini adalah sesuatu yang sangat panjang seperti:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
Apakah ada hotkey atau perintah untuk pergi dari atas ke:
>
?
Biasanya saya akan menekan ↓tombol, dan jika baris saya saat ini adalah yang baru pada sejarah, itu akan menghapusnya. Tetapi jika saya akan melalui histori perintah saya melalui ↑tombol dan mulai mengedit atau menggunakan perintah-perintah itu, ↓hanya akan mengubah prompt ke perintah terbaru berikutnya dalam sejarah, jadi itu tidak berfungsi di sini kecuali saya menekan ↓beberapa kali.
Jawaban:
Anda dapat menggunakan Ctrl+ Uuntuk menghapus ke awal.
Anda dapat menggunakan Ctrl+ Wuntuk menghapus hanya satu kata.
Anda juga dapat menggunakan Ctrl+ Cuntuk membatalkan.
Jika Anda ingin menyimpan riwayatnya, Anda dapat menggunakan Alt+ Shift+ #untuk memberikan komentar.
Bash Emacs Editing Mode Cheat Sheet
sumber
<kbd>...</kbd>
tanda untuk menampilkan kunci di SO.ESC
adalah kunci pengubah sendiri di bash. Ini digunakan untuk hal-hal seperti membatalkan navigasi riwayat (CTRL
+r
), atau menukar dua kata terakhir di belakang kursor (ESC
+t
).Untuk meringkas semua jawaban:
sumber
Alt + D
Alt
+D
tidak berfungsi, itu sebabnya saya belum memasukkannya :(CTRL + L
membersihkan layar tetapi menyimpan apa yang telah diketik dalam baris perintah saat ini.Ctrl + Alt + >
pindah ke akhir histori input yang sempurna ketika Anda ingin membatalkan pencarian histori.Saya memiliki daftar pintasan lengkap:
sumber
CTRL
+L
(16.) menjaga konten dari baris perintah saat ini.Ctrl
+h
: hapus karakter sebelum kursorCtrl+ A, Ctrl+ Kuntuk menghapus garis saat ini di terminal. Anda kemudian dapat memanggilnya dengan Ctrl+ Yjika perlu.
sumber
atau jika Anda menggunakan mode vi, tekan Escdiikuti olehcc
untuk mendapatkan kembali apa yang baru saja Anda hapus, Esclalu p:)
sumber
echo 'set editing-mode vi' >> ~/.inputrc
. Juga bekerja di tempat-tempat seperti prompt interpreter python dan beberapa klien SQLSaya tidak yakin apakah Anda menyukainya tetapi saya menggunakan Ctrl+ A(untuk memulai baris) dan Ctrl+ K(untuk menghapus baris) Saya sudah terbiasa dengan perintah-perintah ini dari emacs, dan menemukan mereka secara tidak sengaja.
sumber
Alternatif untuk Ctrl+ A, Ctrl+ Kadalah Ctrl+ E, Ctrl+ U.
sumber
Ctrl+ w: memindahkan karakter dan (banyak) kata yang tersisa dari kursor ke buffer cincin
Ctrl+ y: masukkan entri terakhir dari buffer cincin Anda dan kemudian Anda dapat menggunakan Alt+ yuntuk memutar melalui buffer cincin Anda. Tekan beberapa kali untuk melanjutkan ke entri "sebelumnya" di buffer cincin.
sumber
CTRL+ Rdan mulai mengetik untuk mencari perintah sebelumnya dalam sejarah. Akan menunjukkan garis penuh.
CTRL+ Rlagi untuk berputar.
sumber
Ctrl + W akan menghapus kata di sebelah kiri.
sumber
Tambahkan ke daftar:
Dalam mode Emacs, tekan Esc, diikuti olehR , akan menghapus seluruh baris.
Saya tidak tahu mengapa, kebetulan menemukannya. Mungkin ini tidak digunakan untuk menghapus baris tetapi kebetulan memiliki efek yang sama. Jika seseorang tahu, tolong beri tahu saya, terima kasih :)
Bekerja di Bash, tetapi tidak akan bekerja di Ikan.
sumber
revert-line
perintah readline: "Membatalkan semua perubahan yang dilakukan pada baris ini". Secara default, ia terikat keM-r
(Meta-R), yang bisa Alt-R atau Esc R. Ini berarti tidak benar-benar menghapus garis, hanya ketika itu kosong untuk memulai; Jika Anda gulir kembali dalam sejarah perintah Anda dan mengubah perintah, maka masalahrevert-line
, itu akan berubah kembali ke perintah itu semula dan tidak menghapus baris.Untuk menghapus seluruh baris di mana pun kursor berada, Anda dapat menggunakan
kill-whole-line
perintah, tetapi tidak terikat secara default. Ini dapat diikat ke, misalnya, Ctrl+ Alt+ Kdengan menyisipkanke dalam file init Readline Anda (secara konvensional
~/.inputrc
).Berbagai komentar:
Untuk menghindari penetapan ulang secara tidak sengaja urutan kunci yang sudah digunakan untuk hal lain, Anda dapat memeriksa semua ikatan Anda
bind -P
. Periksa pengikatan yang disarankan denganINPUTRC
. Jika tidak disetel, defaultnya adalah~/.inputrc
, atau (jika itu tidak ada)/etc/inputrc
. Perhatikan bahwa jika sudah~/.inputrc
,/etc/inputrc
akan diabaikan.bind
builtinsumber
Untuk membersihkan seluruh baris (2 cara berbeda):
sumber
Alt+ #komentar di luar baris saat ini. Ini akan tersedia dalam sejarah jika diperlukan.
sumber