Tekan alt + numerik di bash dan Anda mendapatkan (arg [numeric]) apa itu?
(Jenis pertanyaan ini lebih cocok untuk ditanyakan pada manusia, daripada mencoba "menebak" terminologi yang tepat untuk mencari di dokumentasi melalui internet).
Tekan alt + numerik di bash dan Anda mendapatkan (arg [numeric]) apa itu?
(Jenis pertanyaan ini lebih cocok untuk ditanyakan pada manusia, daripada mencoba "menebak" terminologi yang tepat untuk mencari di dokumentasi melalui internet).
Jawaban:
Istilah yang Anda inginkan untuk google adalah:
"readline arguments"
Ini akan mengarah ke, misalnya, bab ini dari manual referensi bash :
Anda bisa meneruskan argumen numerik ke perintah Readline. Kadang-kadang argumen berfungsi sebagai hitungan berulang , di lain waktu itu adalah tanda argumen yang signifikan. Jika Anda menyampaikan argumen negatif ke perintah yang biasanya bertindak ke arah depan, perintah itu akan bertindak ke arah belakang. Misalnya, untuk mematikan teks kembali ke awal baris, Anda dapat mengetik 'M-- C-k'.
Cara umum untuk meneruskan argumen numerik ke sebuah perintah adalah dengan mengetikkan digit meta sebelum perintah tersebut. Jika 'digit' pertama yang diketik adalah tanda minus ('-'), maka tanda argumen bernilai negatif. Setelah Anda mengetik satu digit meta untuk memulai argumen, Anda dapat mengetik sisa digit, lalu perintah. Misalnya, untuk memberi perintah Cd argumen 10, Anda bisa mengetik 'M-1 0 C-d', yang akan menghapus sepuluh karakter berikutnya pada baris masukan.
Agar bisa berfungsi, Anda harus tahu di mana kunci Meta dipetakan: terkadang Alt, terkadang Esc, komputer keren memiliki kunci Meta khusus;)
Bagi mereka yang tidak terbiasa dengan sintaks, 'M-- Ck' setara dengan Meta_key+ - Ctrl+ k. "M" adalah singkatan dari tombol Meta, yang, seperti disebutkan, bervariasi menurut sistem, "C" adalah singkatan dari tombol Ctrl. "-" setelah karakter (seperti "M-") bukanlah sesuatu yang Anda ketik, ini adalah cara untuk menunjukkan penekanan tombol secara bersamaan.
(arg: 1280
(meskipun saya melepaskan tombol Alt). Bagaimana saya mengulangi angka menggunakan mekanisme ini?
$(perl -e 'print "0" x 128')
Untuk mengulang karakter numerik - misalnya 128 angka nol, tekan yang berikut ini:
Meta-key + 1 2 8 Ctrl + v 0
vim
(mungkin emacs juga, saya tidak ingat).
Coba ini. Ketik Alt 4, lalu ketik T, lalu tekanEnter .
Diedit untuk menggunakan HTML yang lebih keren.
t
karakter disisipkan.
Ini mengulangi perintah berikutnya yang diberikan berkali-kali, sama seperti di Emacs. Misalnya M-1-0 C-pmemindahkan kembali 10 item sejarah. M-4 C-hspasi mundur empat karakter, M-3 M-tmemajukan kata sebelumnya tiga kali, dan seterusnya. Di sini saya menggunakan M-arti "meta" untuk tombol Alt, seperti kebiasaan di Bash.
Saya tahu ini sudah menjadi jawaban yang diterima namun saya menemukan beberapa contoh berguna yang juga menunjukkan penggunaan tambahan selain dari pengulangan karakter yang sederhana. Argumen digit dapat berlaku untuk segala macam hal. Misalnya urutan "Alt + 3, Escape, Backspace" akan menghapus mundur 3 kata.
bagian manual bash - pada dasarnya cara mengulangi perintah readline, atau membalikkannya.
set keymap vi
masuk~/.inputrc
, maka menekan akanEsc + Digit
membawa Anda ke mode yang sama, seolah-olah mempersiapkan pengulangan perintah vi (tetapi Anda tidak dapat menggunakan vi binding dari mereka, hanya emacs yang jelek :-()