Автозаполнение терминала не работает должным образом

Если я начну вводить команду, например apt-g после нажатия вкладки , оболочка завершает команду до ---- +: = 1 =: + ----, но для второй части команды, например apt-get, если я ввожу некоторые символы, например install, нажав вкладку , не завершает ее до ---- +: = 4 =:. + ----

Другой пример: после ввода insta вкладка ничего не заполняет. например: install [ вкладка ] и ничего.

Я установил Ubuntu с помощью mini iso (40MB сетевой установщик), поэтому, возможно, есть конфигурация, которую я пропустил!

Я добавил этот код к своему sudo, но все равно он не работает:

sudo apt-ge

Я также проверил разрешение .bashrc и это if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi

Я также отправлю код .bashrc после изменений с помощью -rw-r--r--, чтобы применить изменения к новой среде, но все равно никаких эффектов.

Я использую .bashrc, поэтому я думал, что это может быть терминал, а не bash.

Но редактирование:

source .bashrc

И изменение:

xfce4-terminal

в

~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

Не имеет значения.

37 голосов | спросил Ravexina 4 22014vEurope/Moscow11bEurope/MoscowTue, 04 Nov 2014 14:49:41 +0300 2014, 14:49:41

3 ответа


61

bash-completion представляет собой набор сценариев bash, который позволяет настраивать завершение для определенных команд.

Это не только файлы и каталоги, но и, например, для команд. Поэтому вы вводите частичные команды и, нажимая Tab , получаем автоматическое завершение команд.

Установка

Шаг 1: Установите завершение bash

$ sudo apt-get install bash-completion

И несколько раз он работает, если мы снова установим его командой follwing:

$ sudo apt-get install --reinstall bash-completion

Шаг 2: Включить выполнение bash в файле .bashrc

Откройте gedit ~/.bashrc, и если этот контент там не существует, добавьте их в конец и сохраните.

 # enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Важно: После изменений вам нужно указать ~/.bashrc с помощью source ~/.bashrc или снова открыть терминал. Это должно быть исправлено.

ответил αғsнιη 4 22014vEurope/Moscow11bEurope/MoscowTue, 04 Nov 2014 16:56:32 +0300 2014, 16:56:32
22

Если ваш случай - это вкладка терминала, которая не работает в Xfce,

Решение выглядит следующим образом:

  1. Откройте Application Menu> Settings> Window Manager литий>
  2. Перейдите на вкладку Keyboard.
  3. Снимите настройку Switch window for same application.

 Снимок экрана Window Manager, как очистить окно переключения для того же приложения

Я нашел решение Здесь

ответил itsho 3 42016vEurope/Moscow11bEurope/MoscowThu, 03 Nov 2016 12:30:53 +0300 2016, 12:30:53
1

Вы также можете быть в оболочке, которая не поддерживает автоматическое завершение (например: Bourne Shell | SH). Если вы хотите, чтобы BASH auto complete вам нужно было переключать оболочки, скажите BASH (Bourne Again SHell) вместо команды

chsh -s /bin/bash

Источник: Ubuntu Wiki - изменение оболочек

ответил Michael Lowden 18 52016vEurope/Moscow11bEurope/MoscowFri, 18 Nov 2016 18:03:02 +0300 2016, 18:03:02

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132