Автоматическое завершение Bash

Решение Ruby:

$ cat input.txt                                                                                                          
abcdef
abc
abcdefghijk

$ ruby -ne 'puts $_ if $_.chomp.length() >= 6 ' < input.txt                                                              
abcdef
abcdefghijk

Простая идея: перенаправить файл в stdin ruby ​​и напечатать строку из stdin, только если длина больше или равна 6

0
задан 18 September 2017 в 09:57

8 ответов

Вам нужно установить bash-completion. Если вы уже установили, вам нужно его установить:

source /etc/bash_completion

Вы можете добавить его в свой .bashrc-файл. Вы можете добавить пользовательские дополнения в /etc/bash_completion.d/

0
ответ дан 18 July 2018 в 06:39

bash делает это по умолчанию, если установлен пакет bash-completion, просто введите, например,

> apt i

нажмите Tab ↹, и вы получите

> apt install

Если есть несколько совпадений, нажатие Tab ↹ в другой раз отобразит их список. Например,

> ap

Вкладка ↹

ничего не происходит

Вкладка ↹

aplay apport-bug apt aptdcon aptitude-curses aplaymidi apport-cli apt-add-repository apt-extracttemplates aptitude-run-state-bundle apm_available apport-collect apt-cache apt-ftparchive apt-key apparmor_parser apport-unpack apt-cdrom apt-get apt-mark apparmor_status appres apt-config aptitude apt-sortpkgs applygnupgdefaults apropos aptd aptitude-create-state-bundle
1
ответ дан 18 July 2018 в 06:39

Я полагаю, что fish shell будет в порядке. Чтобы установить:

Загрузите здесь. Затем используйте этот учебник, чтобы помочь вам в обучении.
1
ответ дан 18 July 2018 в 06:39

Если ваша проблема заключается в том, что вы хотите завершить Bash, пожалуйста, обратитесь к сообщению. Автозаполнение терминалов не работает должным образом, иначе, если вам нужно Enter, введите «как» Tab ↹, а затем выполните эту команду немедленно, тогда вам нужно добавить команду ниже в ~/.bashrc, а затем source ~/.bashrc.

bind 'RET:"\C-i\C-j"'

Для RETURN сокращен RET; Вместо этого вы могли бы использовать "\C-M", что означает Enter + M.

1
ответ дан 18 July 2018 в 06:39

Вам нужно установить bash-completion. Если вы уже установили, вам нужно его установить:

source /etc/bash_completion

Вы можете добавить его в свой .bashrc-файл. Вы можете добавить пользовательские дополнения в /etc/bash_completion.d/

0
ответ дан 24 July 2018 в 18:38

bash делает это по умолчанию, если установлен пакет bash-completion, просто введите, например,

> apt i

нажмите Tab ↹, и вы получите

> apt install

Если есть несколько совпадений, нажатие Tab ↹ в другой раз отобразит их список. Например,

> ap

Вкладка ↹

ничего не происходит

Вкладка ↹

aplay apport-bug apt aptdcon aptitude-curses aplaymidi apport-cli apt-add-repository apt-extracttemplates aptitude-run-state-bundle apm_available apport-collect apt-cache apt-ftparchive apt-key apparmor_parser apport-unpack apt-cdrom apt-get apt-mark apparmor_status appres apt-config aptitude apt-sortpkgs applygnupgdefaults apropos aptd aptitude-create-state-bundle
1
ответ дан 24 July 2018 в 18:38
  • 1
    Благодарим вас за быстрый ответ, я знаю об этом, но я ищу автоматическое завершение без необходимости нажатия клавиши табуляции. – Eden K 18 September 2017 в 09:51
  • 2
    @EdenK Добро пожаловать! Правильно ли я понял ваш вопрос, решает ли ваша проблема? Если нет, пожалуйста, отредактируйте свой вопрос и добавьте сведения о том, что вы хотите. – dessert 18 September 2017 в 09:52
  • 3
    Я ищу решение, в котором я, например, могу набрать «пакетные вложения», и нажмите enter, а не нажимайте клавишу табуляции. Я знаю, что для нажатия клавиши табуляции требуется всего лишь секунд, но мне интересно, существует ли такое решение. – Eden K 18 September 2017 в 09:54
  • 4
    @EdenK Пожалуйста, отредактируйте свой вопрос и добавьте эту информацию! – dessert 18 September 2017 в 09:56
  • 5
    @Edenk вы можете использовать fish shell – George Udosen 18 September 2017 в 10:06

Я полагаю, что fish shell будет в порядке. Чтобы установить:

Загрузите здесь. Затем используйте этот учебник, чтобы помочь вам в обучении.
1
ответ дан 24 July 2018 в 18:38

Если ваша проблема заключается в том, что вы хотите завершить Bash, пожалуйста, обратитесь к сообщению. Автозаполнение терминального терминала не работает должным образом, иначе если вам нужно Enter, введите «как» Tab ↹, а затем выполните эту команду немедленно, тогда вам нужно добавить команду ниже в ~/.bashrc, а затем source ~/.bashrc.

bind 'RET:"\C-i\C-j"'

Для RETURN сокращен RET; Вместо этого вы могли бы использовать "\C-M", что означает Enter + M.

1
ответ дан 24 July 2018 в 18:38

Другие вопросы по тегам:

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