kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 blokkie
blokkie
Вопрос

Как изменить завершение истории bash, чтобы завершить то, что'уже находится в строке?

Пару месяцев назад я нашел команду, которая заставляла мою историю bash автоматически заполнять то, что уже было в строке при нажатии стрелки вверх:

$ vim fi

Нажмите ↑

$ vim file.py

Я'хотел бы установить это на свой новый компьютер, потому что это экономит много времени при ведении большой истории. Проблема в том, что я не могу вспомнить, где это упоминалось, и чтение бесконечных ссылок и руководств по bash, к сожалению, тоже не помогло.

Кто-нибудь знает эту команду?

129 2009-06-23T01:13:12+00:00 5
 tshepang
tshepang
Редактировал вопрос 8-го июня 2014 в 9:21
Программирование
linux
shell
bash
bash-completion
Решение / Ответ
 ephemient
ephemient
23-го июня 2009 в 1:24
2009-06-23T01:24:42+00:00
Дополнительно
Источник
Редактировать
#9188672

Возможно, что-то вроде

# ~/.inputrc
"\e[A": history-search-backward
"\e[B": история-поиск-вперед

или эквивалентно,

# ~/.bashrc
if [[ $- == *i* ]]
then
    bind '"\e[A": history-search-backward'
    bind '"\e[B": history-search-forward'
fi

(оператор if проверяет наличие интерактивного режима)

Обычно кнопки Up и Down привязаны к функциям Readline previous-history и next-history соответственно. Я предпочитаю привязывать PgUp/PgDn к этим функциям, вместо того чтобы вытеснять обычную работу Up/Down.

# ~/.inputrc
"\e[5~": история-поиск-назад
"\e[6~": история-поиск-вперед

После изменения ~/.inputrc перезапустите оболочку или используйте Ctrl+X, Ctrl+R, чтобы указать ей перечитать ~/.inputrc.


Кстати, если вы ищете соответствующую документацию:

Bash использует The GNU Readline Library для подсказки оболочки и истории.

 Uri
Uri
Редактировал ответ 17-го апреля 2015 в 10:43
219
0
Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev
 nate_weldon
nate_weldon
21-го января 2014 в 11:44
2014-01-21T23:44:50+00:00
Дополнительно
Источник
Редактировать
#9188675

Обновления .inputrc со следующим:

"\C-[OA": history-search-backward
"\C-[[A": history-search-backward

"\C-[OB": history-search-forward
"\C-[[B": history-search-forward
4
0
Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev
Benjamin Crouzier
Benjamin Crouzier
10-го декабря 2013 в 3:02
2013-12-10T15:02:21+00:00
Дополнительно
Источник
Редактировать
#9188674

В ohmyzsh используйте это в файле .zshrc:

bindkey '^[OA' history-search-backward
bindkey '^[OB' history-search-forward

Чтобы перезагрузить, source ~/.zshrc или перезапустите терминал.

Источник: https://superuser.com/a/418299/71680

 Community
Community
Редактировал ответ 20-го марта 2017 в 10:18
1
0
Mauricio Robayo
Mauricio Robayo
30-го апреля 2017 в 1:51
2017-04-30T01:51:39+00:00
Дополнительно
Источник
Редактировать
#9188676

Если установить включить-клавиатурыв вашем~/.inputrc как какой-то ст (suckless простой Терминал) пользователи могут, имейте в виду, что стрелки находятся в режиме клавиатуры. В Ubuntu поставляется с этим полезным /usr/доли/док/Баш/inputrc.стрелки:

# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD"        backward-char
"\C-[OC"        forward-char
"\C-[OA"        previous-history
"\C-[OB"        next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D"        backward-char
"\C-[[C"        forward-char
"\C-[[A"        previous-history
"\C-[[B"        next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD"       backward-char
"\C-M-OC"       forward-char
"\C-M-OA"       previous-history
"\C-M-OB"       next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D"       backward-char
"\C-M-[C"       forward-char
"\C-M-[A"       previous-history
"\C-M-[B"       next-history

Поэтому я'м не уверен, если вы'll необходимо, но это, возможно, не помешает иметь в своем ~/.inputrc:

# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char

# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char

Это тоже на ту же тему: Мои клавиши управления курсором не работают, и это в xterm: специальные клавиши

Mauricio Robayo
Mauricio Robayo
Редактировал ответ 27-го июня 2017 в 5:14
1
0
Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev
 Convict
Convict
23-го июня 2009 в 1:36
2009-06-23T01:36:54+00:00
Дополнительно
Источник
Редактировать
#9188673

Возможно, вам потребуется включить завершение bash.

Проверьте

  • /etc/profile
  • /etc/bash.bashrc
  • ~/.bashrc

посмотреть, является ли какой-либо из вышеперечисленных файлов источником /etc/bash_completion. т.е.

. /etc/bash_completion

Если /etc/bash___completion не используется ни в одном из вышеперечисленных файлов, вам необходимо добавить его в один из них.

Если вы хотите, чтобы все пользователи bash на вашей машине имели завершение bash, сделайте источником /etc/bash_completion из /etc/bash.bashrc.

Если завершение работы с bash нужно только вам, возьмите источник /etc/bash_completion из вашего ~/.bashrc.

-3
0
Похожие сообщества 22
DevOps — русскоговорящее сообщество
DevOps — русскоговорящее сообщество
15 147 пользователей
Общаемся на темы DevOps, мониторинга, метрикам и облакам. Новости. См. также: @kubernetes_ru, @docker_ru, @ceph_ru, @openstack_ru FAQ и правила: https://git.io/JtnWb Вакансии и поиск работы: @devops_jobs
Открыть telegram
DevOps Jobs - работа и аналитика
DevOps Jobs - работа и аналитика
13 210 пользователей
Публикуем вакансии и запросы на поиск работы по направлению DevOps & SRE. Обмен инсайдами и аналитикой на рынке труда DevOps & SRE. Вакансии в @devops_jobs_feed FAQ и правила: https://git.io/JtnWb Старт бота "/man" См.также: @devops_ru, @kubernetes_ru
Открыть telegram
Альт Линукс
Альт Линукс
5 259 пользователей
Открыть telegram
GNU/Linux Help
GNU/Linux Help
4 294 пользователей
LINUX HELP Правила: https://t.me/grouplinux/1660070 #FAQ: https://t.me/grouplinux/1660058 Linux Flood: https://t.me/+mKsgPMYA_BIzODZi Linux: VFIO PCI Passthrough: @vfiolinux
Открыть telegram
🐧 RU.UBUNTU — Официальное сообщество пользователей Ubuntu Linux
🐧 RU.UBUNTU — Официальное сообщество пользователей Ubuntu Linux
3 834 пользователей
Сообщество пользователей Ubuntu ⚠️ Правила: https://t.me/ru_ubuntu/575972 Список групп и каналов: https://github.com/goq/telegram-list
Открыть telegram
Системное администрирование
Системное администрирование
3 740 пользователей
Чат посвящён любым вопросам системного администрирования. Правила - https://t.me/srv_admins/1472142 Группа по Керио - https://t.me/Kerio_control Вопросы, обратная связь, реклама @SA_FRY_BOT
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Александр Македонский
Зарегистрирован 6 дней назад
2
Andrei Kalinin
Зарегистрирован 3 недели назад
3
Koroleva Ego
Зарегистрирован 1 месяц назад
4
Star Lenon
Зарегистрирован 1 месяц назад
5
Данил Жевнеров
Зарегистрирован 2 месяца назад
Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией