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

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 
  • Можно ли добавить ci "(или ci ', ci {и т. Д.) В режим vi в bash?
  • Как несколько команд заданы для ex из командной строки?
  • Как написать работоспособный .vimrc для vim & vi в Red Hat 6?
  • Команды Bash внутри vi
  • Как заменить строку на определенный шаблон в vi?
  • Насколько отличается Элвис от Вима?
  • Почему команда копирования редактора vi называется Yank?
  • Почему Vi имеет несколько режимов?
  • Запустить vi на последней строке
  • В OSX vi, кажется, неожиданно возвращается 1, несмотря на отсутствие ошибки
  • Как установить bash-псевдонимы и переменные из vim?
  • Linux и Unix - лучшая ОС в мире.