vi <TAB> завершает только каталоги в bash

В каталоге я набираю vi а затем tab (дважды), это дает мне

 user$ vi CMakeFiles/ global/ libs/ 

тогда как ls за которым следуют 2 вкладки, дает мне

 user$ ls ! core.log CMakeFiles/ global/ libs/ _jni/ 

(Примечание: ls имеет псевдоним для `ls -Ah –color = auto ' , _jni – символическая ссылка, и ни один из файлов не скрыт.)

Я думаю, что vi не показывает никаких файлов, а только каталогов во время выполнения табуляции. Почему это происходит? Как заставить vi вести себя так же, как ls ? Я поместил следующую строку в ~ / .vimrc после прохождения одного из сообщений в SE. Но в этом случае он ничего не делает.

 set wildmode=longest,list,full set wildmenu 

Версия vi : VIM-Vi IMproved version 7.3.429
Версия ls : ls (GNU coreutils) 8.13

  • В vi, конвертировать невидимые символы в escape-последовательности?
  • Звуковой сигнал при вводе обратной косой черты в обычном режиме cvim
  • Ошибка при поиске несуществующей строки с EDITOR = vi crontab -e
  • поиск и увеличение значений между символом второй тильды и символом третьей тильды в каждой строке файла txt
  • В режиме Bash Vi я автоматически переключаюсь в режим вставки после нажатия одной клавиши
  • Можно ли добавить ci "(или ci ', ci {и т. Д.) В режим vi в bash?
  • Как «vi» осознает формат файлов конфигурации?
  • Удалить 100 строк из редактора vi с помощью одной команды
  • 3 Solutions collect form web for “vi <TAB> завершает только каталоги в bash”

    У меня была такая же проблема в Arch Linux, и, наконец, я обнаружил, что это проблема с функцией завершения.

    используйте complete -r vim для удаления дополнения. (или поместите эту строку в ваш bashrc)

    Это поведение напрямую не связано с командой ls или бинарным vi. Вместо этого он контролируется функцией завершения вкладки вашей оболочки. Если вы используете bash на linux, вы, вероятно, получили /etc/bash_completion и /etc/bash_completion.d/* полные правила для того, как реализовать завершение.

    Убедитесь, что в вашем файле /etc/bash_completion присутствует строка, аналогичная приведенной ниже:

     complete -f -X '*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite 

    Выполните эту команду в оболочке. Альтернативно добавьте выше строку в файле /etc/bash_completion и выполните:

     bash /etc/bash_completion 
    Interesting Posts

    Инструмент для уменьшения размера раздела и создания нового из командной строки

    группа getent работает, но sshd_config allowgroups не извлекает соответствующую группу

    Отобразить столбец с определенной строкой

    Сделать загрузку Grub2 в Windows / old kernel

    Что такое Linux для VMS DCL «ON ERROR»?

    Можете ли вы создать пул процессов со сценариями оболочки?

    Как удалить или отключить несуществующее устройство воспроизведения?

    Есть ли параллельный файловый архиватор (например, tar)?

    Как сделать шрифты доступными для системы

    Открытый, некорневой доступ к файловой системе?

    Помимо crontab, какие другие способы можно добавить программы для запуска во время загрузки?

    Создание ключей openvpn-client на основе asuswrt ca

    Есть несколько версий Nginx на Debian

    awk: Извлечение фиксированного числа строк, в котором последнее число строк может изменяться

    защита паролем для сжатия logrotate

    Linux и Unix - лучшая ОС в мире.