Что может испортить порядок заполнения клавишей Tab

Я испытываю различие поведения между моей предыдущей ОС (Гостеприимная Ubuntu) и моим током один (Бионическая Ubuntu).

Рассказ - это:

При использовании заполнения клавишей Tab с cd, порядок заполнения клавишей Tab изменился.

Для демонстрации проблемы предположите, что у меня есть эта структура каталогов (все директора):

/vagrant/hello
/vagrant/hello/web
/vagrant/hello/web/hello.com

И я имею CDPATH=.:/vagrant:/vagrant/hello/web

В прошлом cd hel<TAB> показал hello во-первых, и hello.com во-вторых:

$ cd hel<TAB>
hello/  hello.com/

Но теперь, это показывает его в обратном порядке, который является нежелательным:

$ cd hel<TAB>
hello.com/  hello/

Ничто, что находится под моим контролем, не изменилось между этими двумя версиями.


Более длинная история (только для ссылки, я полагаю, что она не должна иметь значения):

A) Я - "активный пользователь" CDPATH - это изменение порядка полностью портит мой ритм.

B) В действительности я использую это .inputrc файл, чтобы на самом деле сделать menu-complete на вкладке (вывод выше от Shift+Tab, который является нормальным complete).

TAB: menu-complete
"\e[Z": complete

C) Я попытался воспроизвести это в чистом (Докер) среда, но я не могу воспроизвести "плохое" поведение.

D) Я попробовал некоторые изменения menu-complete-backwards и подобные, но результаты не лучше.

E) Я попробовал бесконечные изменения CDPATH значения, включая изменение порядка и добавление :. в конце.

F) При выполнении cd something<TAB>, даже кажется, что завершение будет способствовать каталогам, которые НЕ находятся в текущем каталоге, прежде, чем выбрать тех, которые находятся в текущем каталоге - даже когда CDPATH запускается с точки - .:/other/paths

Я не знаю, как еще отладить эту проблему, любая справка значительно ценится.

2
задан 18 March 2019 в 09:56

1 ответ

Порядок завершения, кажется, зависит от текущей локали - в особенности LC_COLLATE

Напр.


$ LC_COLLATE="C.UTF-8"
$
$ cd helloTABTAB
hello.com/  hello/      

$ LC_COLLATE="en_US.UTF-8"
$ 
$ cd helloTABTAB
hello/      hello.com/  
1
ответ дан 2 December 2019 в 04:39

Другие вопросы по тегам:

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