Чи можна в Bash (термінальній оболонці Mac / Linux) зробити клавіші зі стрілками вгору та вниз так, щоб вони працювали так, як це робиться в текстових редакторах?


8

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

У Bash, якщо я набираю довгу команду, яка охоплює кілька рядків, і я натискаю клавіші зі стрілками вгору та вниз, вона проходить цикл історії історії.

Я хочу, щоб колишня поведінка у Баша. Чи можливо це? Якщо немає, то є якийсь - або спосіб , щоб перемістити курсор безпосередньо вгору або вниз в команді многострочного?


Вони рухаються між лініями ... тільки що лінія дуже довга.
фонбранд

Відповіді:


11

Ні, це неможливо. Bash використовує GNU Readline для обробки інтерактивного введення рядків. У Readline немає команди, яка рухається між рядками відображення за вашим бажанням, також немає змінної конфігурації, порівнянної із змінною візуально-візуальної змінної GNU Emacs, яка призводить до переміщення наступного рядка та попереднього рядка за рядками відображення.


Невтішно, але дякую! І я думаю , що відповіді на інше питання , будуть корисні людям з цим же питанням: stackoverflow.com/questions/657130 / ...
Frungi

5

Що я роблю, це натиснути CTRL + стрілка вліво, і вона перескочить до першої літери після останнього знайденого пробілу. Ви можете швидко дістатися до місця, де вам потрібно.


1
Це нестандартне прив’язка ключів. Стандартна прив'язка клавіш для переміщення назад одним словом - Alt + b. Дивіться cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC5
sleske

3

Можливо, ви шукаєте щось на кшталт xiki. Це як оболонка / редактор тексту.

Ось демонстрація відео: http://youtu.be/bUR_eUVcABg


Xiki виглядає дивовижно! Я хочу, щоб щось подібне могло працювати на Windows ...
Макс

2
@Max згідно зі сторінкою github проектів, "Ми просто зафіксували el4r, тому є ймовірність, що Xiki може працювати у Windows." Ви можете перевірити його тут: github.com/trogdoro/xiki
Джейсону

Це напрочуд акуратно і дурно, але насправді не те, що я хотів зробити. Я просто хотів використовувати Bash або якусь іншу загальну оболонку. Дякую, хоча!
Фрунгі

3

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


2
Також Ctrl + A перейти до початку та Ctrl + E - до кінця
ignis

1
@ignis ви повинні поставити це у відповідь.
зол


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.