8

В текстовых редакторах, если я нажимаю клавиши со стрелками вверх и вниз, он перемещает курсор между строками текста.

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

Я хочу прежнее поведение в Bash. Это возможно? Если нет, есть ли способ переместить курсор прямо вверх или вниз в многострочной команде?

6 ответов6

11

Нет, это невозможно. Bash использует GNU Readline для обработки ввода интерактивной строки. В Readline нет команды, которая перемещается между строками отображения по вашему желанию, а также нет переменной конфигурации, сравнимой с визуальной переменной line-move- GNU Emacs, которая заставляет следующую и предыдущую строки перемещаться по отображаемым строкам.

5

Что я делаю, это нажимаю CTRL + стрелка влево, и он переходит к первой букве после последнего найденного пробела. Делая это, вы можете быстро добраться туда, куда вам нужно.

3

Может быть, вы ищете что-то вроде Xiki. Это как оболочка / текстовый редактор.

Вот видео-демонстрация: http://youtu.be/bUR_eUVcABg

3

Вы можете использовать Ctrl+Left и Ctrl+Right для навигации по словам, а не символам, и Home и End для перехода к началу и концу введенной команды.

2

См. Также справочную страницу bash(1) под заголовком Раздел « Commands for Moving » для других навигационных ярлыков.

1

Ctrl+A для перехода в начало и Ctrl+E для перехода в конец команды.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .