У меня также была невероятно медленная производительность с моим виртуальным жестким диском.
Следующая установка на новом жестком диске исправила все:
Добавьте к следующему к ~/.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
) встречены.
То, что происходит, - то, что 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 также, при условии, что порт установлен (снова, спросите системного администратора).
Другие ответы занимаются им, но если Вы хотите больше, смотрите на https://github.com/zsh-users/zsh-history-substring-search
Prezto (https://github.com/sorin-ionescu/prezto) также полон zsh положительных героев.
tcsh
доступно для большинства дистрибутивов Linux. Попытайтесь установить tcsh
пакет, затем работая chsh -s /bin/tcsh
сделать это Вашей оболочкой по умолчанию.
Last word
часто путь, который я хочу, испытывают в различных тайных клише. И Сдвиг F12 для помещения меня назад редактирование целой последней строки от запуска.~/.inputrc
удобный инструмент. – jalanb 08.12.2015, 05:11