Ищите предыдущую команду с тем же префиксом, когда я нажму Up при приглашении оболочки

У меня также была невероятно медленная производительность с моим виртуальным жестким диском.
Следующая установка на новом жестком диске исправила все:

  • Формат устройства хранения данных: сырые данные
  • Режим кэширования: ни один (не значение по умолчанию!)
  • Режим I/O: собственный компонент
19
18.10.2013, 01:12
4 ответа

Добавьте к следующему к ~/.inputrc:

# Press up-arrow for previous matching command
"\e[A":history-search-backward
# Press down-arrow for next matching command
"\e[B":history-search-forward

Объяснение

~/.inputrc конфигурационный файл для GNU readline. Много оболочек, включая bash и tcsh используйте readline для редактирования командной строки. Эти две строки выше скажут readline вызывать свою функциональность поиска истории когда escape-последовательности для клавиши со стрелкой вверх (\e[A) и клавиша со стрелкой вниз (\e[B) встречены.

34
27.01.2020, 19:44
  • 1
    мне нравится добавлять F12 для помещения последнего слова последней строки на конец текущей команды.Last word часто путь, который я хочу, испытывают в различных тайных клише. И Сдвиг F12 для помещения меня назад редактирование целой последней строки от запуска. ~/.inputrc удобный инструмент. –  jalanb 08.12.2015, 05:11
  • 2
    Сдвиг F12 каждый требует vi режима. –  jalanb 08.12.2015, 05:20

То, что происходит, - то, что FreeBSD и Linux используют различные оболочки по умолчанию. Значения по умолчанию FreeBSD к tcsh, который имел лучшие интерактивные функции, чем, избивают прошлое (но удар нагнал), но заметно худшие функции сценариев.

Самый простой способ получить среду, к которой Вы привыкли, состоял бы в том, чтобы переключить Вашу оболочку на tcsh на Linux. При условии, что tcsh установлен в масштабе всей системы (если это не, попросите, чтобы Ваш системный администратор установил его), работать chsh -s tcsh изменить Вашу оболочку по умолчанию.

С другой стороны, можно настроить удар, чтобы иметь эту команду, к которой Вы привыкли. По умолчанию Стрелки вверх и вниз перешли среди всех команд в истории, не только тех, которые запускаются с префикса, который Вы ввели. Для изменения этого на поведение, к которому Вы привыкли, помещает следующие строки в файл инициализации удара, который является .bashrc в Вашем корневом каталоге. Любое выполнение . ~/.bashrc или запустите новую оболочку для перечитывания файла инициализации.

bind '"\eOA": history-search-backward'
bind '"\e[A": history-search-backward'
bind '"\eOB": history-search-forward'
bind '"\e[B": history-search-forward'

Escape-последовательности - то, что Ваш терминал отправляет в оболочку при нажатии клавиши со стрелкой. Может быть \eOA (Escape, O, A) или \e[A в зависимости от Вашего терминала, и так же для Вниз.

По умолчанию удар предлагает различные привязки клавиш для поиска истории команд. Можно нажать Ctrl+R, затем ввести некоторые символы для поиска команды, содержащей эту подстроку где угодно на строке. Нажмите Ctrl+S для продвижения вместо назад. Поиск является возрастающим (т.е. as-you-type); Alt+P и Alt+N дают Вам невозрастающий поиск.

Вместо удара и tcsh, Вы могли переключиться на zsh, который имеет некоторые аккуратные функции, не найденные в других оболочках. Zsh имеет Ctrl+R и Ctrl+S по умолчанию точно так же, как удар. Для получения Вверх и вниз по подобному, Вы имели в tcsh, вставьте следующие строки ~/.zshrc:

bindkey '\eOA' history-beginning-search-backward
bindkey '\e[A' history-beginning-search-backward
bindkey '\eOB' history-beginning-search-forward
bindkey '\e[B' history-beginning-search-forward

Если требуется использовать ту же оболочку везде, можно использовать удар или zsh на FreeBSD также, при условии, что порт установлен (снова, спросите системного администратора).

6
27.01.2020, 19:44

Другие ответы занимаются им, но если Вы хотите больше, смотрите на https://github.com/zsh-users/zsh-history-substring-search

Prezto (https://github.com/sorin-ionescu/prezto) также полон zsh положительных героев.

1
27.01.2020, 19:44
  • 1
    Спасибо за Ваш ответ, по тому, как я все еще не вижу, какие преимущества обладают zsh по удару или tcsh? –  Abdelilah Benaou 22.10.2013, 17:46
  • 2
    , можно сделать в значительной степени каждый основной материал во всех этих оболочках. Я использую zsh из-за вполне прилично сохраняемого, престо связываются (вероятно, преобразователь большой игры), правильная подсказка (который является эксклюзивной функцией), и потому что это чувствует себя более полируемым, чем удар (consiguration и материал). –  Fuad Saud 22.10.2013, 23:22

tcsh доступно для большинства дистрибутивов Linux. Попытайтесь установить tcsh пакет, затем работая chsh -s /bin/tcsh сделать это Вашей оболочкой по умолчанию.

1
27.01.2020, 19:44
  • 1
    , Или Вы могли бы полагать, что переключение колотило (я сделал). –  Keith Thompson 17.10.2013, 22:47

Теги

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