Настройте клавиши «вверх» и «вниз» в соответствии с функциональностью cmd (на определенный момент времени)

Как настроить Bash таким образом, чтобы клавиши вверх и вниз были такими же, как в cmd?

Например,

$echo command1
$echo command2
$echo command3
$echo command4

В Bash и cmd будут выполняться нажатия клавиш , , , ENTER echo command2.

Однако последующее нажатие клавиши «вниз» в cmd сразу перейдет к команде, т. Е. echo command3. Нажатие клавиши вниз в Bash ничего не делает. cmd сохраняет историю на определенный момент времени (аналогично кнопкам «Назад» и «Вперед» в веб-браузере), а Bash - нет.

Как и в случае с cmd, нажатие клавиши «вверх» дважды в cmd возвращает echo command1, тогда как выполнение в Bash возвращает echo command3.

Много раз я хотел извинить какую-то цепочку команд, которые я ранее вводил по порядку. В cmd очень удобно, что я могу прокручивать историю до первой последовательности, а затем , ENTER , , ENTER , , ENTER ...

Однако я не могу найти подобный способ сделать это в Bash. Можно ли каким-то образом изменить ~/.inputrc или какой-нибудь другой файл для достижения этой цели?

3
задан 31 March 2016 в 20:31

2 ответа

Хотя лично я не хотел бы делать это, поскольку я привык к истории удара, но я вижу, почему люди хотели бы. Я изучил это прежде для коллеги на работе, который был плохо знаком для *, отклоняют и хотел подобную DOS функциональность в xterm, и затем, как теперь, кажется, нет решения.

я только что сделал другой обширный поиск, и ничто не могу найти очевидным, кроме:

Странно, существует много способов сделать cmd большим количеством удара как, например, Bash подобная Истории функция Windows Command Prompt , но печально не наоборот .

основная проблема, выражаясь (чрезмерно) просто, что функциональность клавиш управления курсором (и как она взаимодействует с историей) встроена в исходный код Bash, и сценарии, псевдонимы и функции оболочки не могут переопределить тот факт <глоток> 1 . То, чего Вы потребовали бы , переписывается удар с различным [переключаемый?] функциональность клавиш управления курсором встроила к нему, своего рода "DOSBash", если Вы будете.

, Возможно, существует возможность специализированного рынка, обслуживаемого, и кто-то в конечном счете выполнит ту потребность, но я не задержал бы дыхание.

<час>

<глоток> 1 , Если я являюсь неправильным, и возможно переопределить функциональность клавиш управления курсором простым изменением файла ресурсов, я был бы рад, если кто-то мог бы поместить меня прямо.

2
ответ дан 1 April 2016 в 06:31

Прием, как который я использую, такие, он, должен просто повторить то же количество в † ‘:

$ echo command1
$ echo command2
$ echo command3
$ echo command4

, Если я хочу повторить последовательность от echo command 2 до echo command4, я просто совершил нападки в †‘ 3 раза, чтобы заставить к echo command2 и затем 3 раза снова добраться до echo command3 и 3 раза снова для echo command4.

Так, если Вы возвратились объекты N в своей истории путем удара в † ‘ N времена, удара ее, времена N снова получат Вас к следующей команде каждый раз, потому что новый, который Вы выполнили, был вставлен.

0
ответ дан 1 April 2016 в 06:31

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

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