Как я изменяю завершение истории удара для завершения то, что уже находится на строке?

У меня была эта проблема, потому что я поместил события активности в блок #region. после удаления блока #region все работает нормально в моем случае.

129
задан tshepang 8 June 2014 в 09:21
поделиться

2 ответа

Возможно что-то вроде

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

или эквивалентно,

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

(оператор if проверяет наличие интерактивного режима)

Обычно Up и Down связаны с функциями Readline previous- history и next-history соответственно. Я предпочитаю привязать PgUp / PgDn к этим функциям, а не заменять обычную работу Up / Down.

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

После изменения ~ / .inputrc перезапустите оболочку или используйте Ctrl ] + X , Ctrl + R , чтобы он перечитал ~ / .inputrc .


Кстати, Если вам нужна соответствующая документация:

Bash использует Библиотеку чтения GNU для командной строки и истории.

219
ответ дан 24 November 2019 в 00:32
поделиться

Возможно, вам потребуется включить завершение bash.

Проверьте

  • / etc / profile
  • /etc/bash.bashrc
  • ~ / .bashrc

, чтобы увидеть если какой-либо из вышеперечисленных файлов источник / etc / bash_completion . т.е.

. /etc/bash_completion

Если / etc / bash ___ Завершение не является источником какого-либо из вышеперечисленных файлов, вам нужно будет добавить его в один из них.

Если вы хотите, чтобы все пользователи bash на вашем компьютере имели bash завершение, исходный код / etc / bash_completion из /etc/bash.bashrc .

Если только вы хотите завершить bash, исходный код / etc / bash_completion из вашего ~ / .bashrc .

-3
ответ дан 24 November 2019 в 00:32
поделиться