Вы нажимаете клавиши, но не указываете привязку строки чтения , это может объяснить различия в наблюдаемом поведении (попробуйте привязать -p
).
Я могу придумать единственный способ сделать в точности то, о чем вы просите, - это использовать настраиваемую функцию завершения, которая сохраняет состояние буфера, и отдельную привязку клавиш, которая вызывает сопутствующую функцию оболочки для его восстановления.
В дополнение к отличному предложению @Mark Plotnick использовать menu-complete
, другие параметры readline / bash:
shell-backward-kill-word
это удаляет "слово оболочки" который в случае расширенного файла или пути будет полным именем файла или пути backward-kill-word
это удаляет "слово чтения", которое в случае файла или пути будет файлом или компонент имени каталога, включая завершающую /
undo
, которая отменяет каждое изменение атомарно, но это почти наверняка потребует нескольких попыток полного удаления полного раскрытия, это почти наверняка функция, к которой вы привязаны ctrl - _ (по умолчанию bash) set-mark
и kill-region
- менее используемые функции readline, set-mark
отмечает текущую позицию курсора, а kill-region
удаляет от метки до курсора. Для этого необходимо заранее вызвать set-mark
(по умолчанию мета - пробел )), чтобы позже можно было использовать kill-region
для удалить обратно к нему (без привязки по умолчанию) возможных завершений
(привязанных к мета - = ), в котором перечислены завершения без изменения буфер команд Вы также можете написать свою собственную функцию для изменения входного буфера и привязать ее к функции (здесь , которую я сделал ранее ), но я не понимаю, как это было бы намного лучше чем backward-kill-word
в этом случае.
Вы можете тестировать привязки на лету без использования .inputrc
с помощью команды bash bind
, например:
bind "\C-o: backward-kill-word"
bind "\C-o: shell-backward-kill-word"
backward-kill-word
лучше всего подходит, по умолчанию привязка мета ctrl - h . set-mark
/ kill-region
было бы лучше, но я не могу придумать аккуратный способ автоматизировать это использование.
У Mutt есть опция -f
, которую можно использовать для выбора почтового ящика в командной строке. Параметр принимает путь к почтовому ящику в качестве аргумента. Это работает как с mutt
, так и с neomutt
, например.
mutt -f Mail/inbox-work
Я полагаю, что он также поддерживает открытие почтовых ящиков IMAP, если вы дадите ему URI IMAP.