Заполнение вкладки Bash добавляет дополнительное пространство после первого завершения
Bash Заполнение вкладки добавляет дополнительное пространство после первого завершения, которое останавливает дальнейшее завершение, если цель компиляции является файлом в многоуровневых папках.
Например, у меня есть файл в пути ~/Documents/foo/bar.txt, и я хочу его перечислить.
Я сталкиваюсь со следующей проблемой, когда ввод
[email protected]:~$ls Docu <TAB>
Я получаю
[email protected]:~$ls Documents |(<-this is the cursor, so there is an extra space afer Documents)
Итак, я не могу завершить вкладку. Мне нужно отменить пробел, чтобы удалить лишнее пространство.
Обычно я хочу получить:
[email protected]:~$ls Docu <TAB>
[email protected]:~$ls Documents/ <TAB>
[email protected]:~$ls Documents/foo/ <TAB>
[email protected]:~$ls Documents/foo/bar.txt
Ответы
Ответ 1
Только для записи: в пакете adobereader-enu (acroread) есть ошибка, которая прерывает завершение bash. В этом случае вы можете просто удалить символическую ссылку:
rm /etc/bash_completion.d/acroread.sh
Смотрите также: https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/769866
Ответ 2
У меня была такая же проблема с моим завершением bash в Ubuntu 11.10 и 12.04. Я обнаружил, что мне удалось заставить много команд начать правильно работать, редактируя /etc/bash _completion. В частности, я прокомментировал следующий раздел:
####
# makeinfo and texi2dvi are defined elsewhere.
#
#for i in a2ps awk bash bc bison cat colordiff cp csplit \
# curl cut date df diff dir du enscript env expand fmt fold gperf gprof \
# grep grub head indent irb ld ldd less ln ls m4 md5sum mkdir mkfifo mknod \
# mv netstat nl nm objcopy objdump od paste patch pr ptx readelf rm rmdir \
# sed seq sha{,1,224,256,384,512}sum shar sort split strip tac tail tee \
# texindex touch tr uname unexpand uniq units vdir wc wget who; do
# have $i && complete -F _longopt -o default $i
#done
Теперь снова работает хорошо. Я еще не понял, почему mv все еще ошибочно ведет себя.
Ответ 3
Это ответ на здесь в askubuntu. Это связано с ошибкой здесь
Соответствующий ответ из приведенного выше потока:
отредактировать/etc/bash_completion line 1587, по умолчанию поменять имена файлов (сначала сделать резервную копию).
Ответ 4
Я также обошел проблему, изменив
_filedir с _filedir_pdf
в /etc/bash _completion.d/acroread.sh(Ubuntu 12.04)
acroread bash завершает изменение функции _filedir, тем самым изменяя поведение множества других функций завершения бота