Как я могу сбросить завершение имени файла удара для “больше”?

Это была неприятная проблема уровня 8. Я пытался установить этот iso debian-testing-ia64-DVD-1.iso, который имеет проблемы совместимости со многими материнскими платами И является live CD, а не iso установщика debian. Я загрузил установщик debian net, и это решило проблему.

1
01.10.2013, 17:00
1 ответ

Я могу воспроизвести:

_comp_foo() { compopt -o filenames -o nospace; COMPREPLY=("$(compgen -f -- "$2")"); }
complete -F _comp_foo foo
cd /etc

Введите foo pass , Tab . Вы должны увидеть что-то вроде этого:

foo 'passwd
passwd-'

:)

Как я могу его сбросить, чтобы автозаполнение more работало как less?

Вы можете сбросить завершение bash для NAME с помощью complete -r NAME

help complete сказано:

-r - удалить спецификацию завершения для каждого NAME или, если ИМЯ не указано, всех спецификаций завершения

Вы можете повторно использовать существующее завершение:

_completion_loader less 2>/dev/null # for bash-completion >= 1.9, bash >= 4.1
eval $(complete -p less | sed 's/ less$/ more/')

См. Также: как повторно использовать существующее завершение с недавним завершением bash

0
28.01.2020, 02:03

Теги

Похожие вопросы