Standarnya ada di dalam man bash
, bersama dengan rincian tentang apa yang setiap perintah lakukan. Lihat jawaban BroSlow jika Anda telah mengubah binding utama Anda.
Commands for Moving
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-word (M-f)
Move forward to the end of the next word. Words are composed of alphanumeric characters (letters and digits).
backward-word (M-b)
Move back to the start of the current or previous word. Words are composed of alphanumeric characters (letters and digits).
shell-forward-word
Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters.
shell-backward-word
Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters.
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line without clearing the screen.
...
reverse-search-history (C-r)
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
...
unix-line-discard (C-u)
Kill backward from point to the beginning of the line. The killed text is saved on the kill-ring.
...
yank (C-y)
Yank the top of the kill ring into the buffer at point.
EDIT
Semua perintah ini berada di bagian manual yang berdekatan, sehingga Anda dapat menjelajahinya Commands for Moving
. Atau, Anda dapat menyimpan seluruh bagian ini ke file teks dengan
man bash | awk '/^ Commands for Moving$/{print_this=1} /^ Programmable Completion$/{print_this=0} print_this==1{sub(/^ /,""); print}' > bash_commands.txt
(NB ini mencetak seluruh bagian, termasuk perintah tanpa pintasan keyboard default.)
Penjelasan kode awk
- Saat (hanya) kemunculan
Commands for Moving
, atur variabel print_this
ke 1.
- Pada kejadian (hanya)
Programmable Completion
, yang merupakan bagian berikut, atur variabel ke 0.
- Jika variabelnya 1, singkirkan spasi putih terdepan (tiga spasi), dan cetak garisnya.
bind -P
akan lebih tepat.Readline Command Names
, Anda akan melihat semua perintah di bagian ini. Saya akan menulis skrip pendek untuk mengekstraknya ke file teks, tetapi saya tidak bisa melakukannya sekarang (saya akan punya waktu dalam beberapa jam).Anda dapat membuat daftar semua pintasan di bash shell Anda saat ini dengan memanggil bash builtin
bind
dengan-P
opsi.misalnya
Untuk mengubahnya, Anda dapat melakukan sesuatu seperti
Dan letakkan di file init untuk menjadikannya permanen (perhatikan Anda hanya dapat memiliki kombinasi kunci yang terikat pada satu hal pada suatu waktu, sehingga akan kehilangan ikatan apa pun yang sebelumnya).
sumber
bind -P
akan memberi Anda semua pintasan. Jika Anda bermaksud mengabaikan hal-hal yang tidak memiliki pemetaan untuk fungsi bind / readline, Anda dapat melakukan sesuatu sepertibind -P | grep -v "not bound"
Perintah berikut memberikan output berbentuk kolom yang menunjukkan penggunaan dan pintasan.
Ini memberikan output, yang terlihat seperti
Dapatkan output ini ke file teks menggunakan perintah berikut
File dibuat di direktori $ HOME Anda.
Penjelasan
mendapat semua pintasan.
menghapus semua pintasan yang tidak ditetapkan
macam output
mencetak kolom pertama (yaitu fungsi) dan membenarkan teks
Ini adalah bagian dari perintah sebelumnya. Ini mencetak kolom 6+ (yaitu pintasan).
Masukkan hasilnya ke file teks yang bagus di direktori home yang bernama pintasan
Anda bisa mendapatkan ide tentang cara kerja perintah dengan menjalankan perintah berikut.
sumber
bind -P | tail -n +2 | sort | awk '{printf "%-40s", $1} {if ($6 == "any") {printf"\n"} else {for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}}'
Oke saya punya cara untuk mendapatkan daftar cara pintas dengan memfilter manual bash . Ini juga akan memberikan deskripsi apa sebenarnya yang dilakukan setiap pintasan. Terima kasih kepada Sparhawk yang telah menyadarkan saya untuk menemukan solusinya. Apa yang saya butuhkan adalah belajar menggunakan ekspresi reguler walaupun saya masih kurang bagus :)
Itu yang saya butuhkan. Saya hanya ingin tahu tombol pintas yang ditetapkan untuk bash dan saya belum mengkonfigurasi ulang tombol apa pun seperti yang diminta BroSlow .
Sekali lagi terima kasih kepada semua untuk kontribusi mereka.
Catatan :
Jika seseorang ingin meningkatkan ini, dia sangat disambut. Saya hanya menyebutkan cara daftar pintasan yang telah ditetapkan oleh beberapa kunci. Jadi, jika seseorang tahu bagaimana membuat daftar tindakan yang belum ditugaskan dengan deskripsi menggunakan cara ini , sangat disambut :)
sumber
dump-macros
), meskipun itu mungkin yang Anda inginkan.Selama manual bash tidak dimodifikasi dengan cara membuat perintah ini tidak tepat (yang sangat tidak mungkin), perintah berikut akan menampilkan semua pintasan default untuk
bash
.Ini menghasilkan output yang terlihat seperti:
Jika manual bash dimodifikasi, perintah ini dapat dengan mudah diubah agar sesuai dengan kebutuhan.
sumber