GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengubah penyelesaian riwayat bash untuk menyelesaikan apa yang sudah dipertaruhkan?

Mungkin sesuatu seperti

# ~/.inputrc
"\e[A": history-search-backward
"\e[B": history-search-forward

atau setara,

# ~/.bashrc
if [[ $- == *i* ]]
then
    bind '"\e[A": history-search-backward'
    bind '"\e[B": history-search-forward'
fi

(pernyataan if memeriksa mode interaktif)

Biasanya, Atas dan Bawah terikat pada fungsi Readline previous-history dan next-history masing-masing. Saya lebih suka mengikat PgUp/PgDn ke fungsi-fungsi ini, daripada menggantikan operasi normal Atas/Bawah.

# ~/.inputrc
"\e[5~": history-search-backward
"\e[6~": history-search-forward

Setelah Anda memodifikasi ~/.inputrc , restart shell Anda atau gunakan Ctrl +X , Ctrl +R untuk menyuruhnya membaca ulang ~/.inputrc .

Omong-omong, jika Anda mencari dokumentasi yang relevan:

Bash menggunakan The GNU Readline Library untuk shell prompt dan history.


Perbarui .inputrc dengan berikut ini:

"\C-[OA": history-search-backward
"\C-[[A": history-search-backward

"\C-[OB": history-search-forward
"\C-[[B": history-search-forward

Jika set enable-keypad on ada di ~/.inputrc Anda seperti yang mungkin dilakukan oleh beberapa pengguna st (terminal sederhana yang payah), ketahuilah bahwa tombol panah berada dalam mode papan tombol. Ubuntu dikirimkan dengan /usr/share/doc/bash/inputrc.arrows yang berguna ini :

# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD"        backward-char
"\C-[OC"        forward-char
"\C-[OA"        previous-history
"\C-[OB"        next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D"        backward-char
"\C-[[C"        forward-char
"\C-[[A"        previous-history
"\C-[[B"        next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD"       backward-char
"\C-M-OC"       forward-char
"\C-M-OA"       previous-history
"\C-M-OB"       next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D"       backward-char
"\C-M-[C"       forward-char
"\C-M-[A"       previous-history
"\C-M-[B"       next-history

Jadi saya tidak yakin apakah Anda akan membutuhkan semuanya, tetapi mungkin tidak ada salahnya untuk memasukkan ~/.inputrc Anda :

# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char

# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char

Ini juga pada topik yang sama:Tombol kursor saya tidak berfungsi dan juga xterm ini:tombol khusus


Linux
  1. Bagaimana Cara Mengubah Panjang Baris Default Untuk Od Dan Hexdump?

  2. 10 Contoh Perintah Lengkap Bash_Completion Linux yang Berguna (Penyelesaian Baris Perintah Bash pada Steroid)

  3. Cara mengubah jumlah perintah yang disimpan di Bash History

  1. Bagaimana cara mengubah nama host di Ubuntu

  2. Apa gunanya $# di Bash

  3. Bagaimana caranya:Riwayat Bash/Shell yang tidak terbatas?

  1. Cara menggunakan perintah riwayat Bash

  2. Bagaimana cara mengubah kursor Terminal dari kotak ke baris?

  3. Bagaimana cara cepat mengubah kata pertama dalam perintah Bash?