Czy w Bash (powłoka terminalu Mac / Linux) klawisze strzałek w górę i w dół mogą działać tak jak w edytorach tekstowych?

8

W edytorach tekstu, jeśli naciskam klawisze strzałek w górę i w dół, przesuwa kursor między wierszami tekstu.

Jeśli w Bash wpisuję długie polecenie obejmujące wiele linii i naciskam klawisze strzałek w górę i w dół, przegląda on historię poleceń.

Chcę poprzednie zachowanie w Bash. czy to możliwe? Jeśli nie, czy jest jakiś sposób na przesuwanie kursora bezpośrednio w górę lub w dół w poleceniu wieloliniowym?

Frungi
źródło
Poruszają się między liniami ... tylko, że linia jest bardzo długa.
vonbrand

Odpowiedzi:

11

Nie, to niemożliwe. Bash używa GNU Readline do obsługi interaktywnego wprowadzania linii. W Readline nie ma polecenia, które poruszałoby się między liniami wyświetlania, jak chcesz, ani nie ma zmiennej konfiguracyjnej porównywalnej ze zmienną wizualno-ruchową GNU Emacsa, która powoduje, że następna linia i poprzednia linia przesuwają się po liniach wyświetlania.

Kyle Jones
źródło
Rozczarowujące, ale dzięki! I myślę, że odpowiedzi na inne pytanie byłyby przydatne dla osób z tym samym pytaniem: stackoverflow.com/questions/657130/…
Frungi
5

To, co robię, to naciśnij CTRL + Strzałka w lewo i przeskoczy do pierwszej litery po ostatnim znalezionym miejscu. W ten sposób możesz szybko dostać się tam, gdzie potrzebujesz.

chrstphrmllr
źródło
1
To niestandardowe przypisanie klucza. Standardowe przypisanie klawiszy do przejścia o jedno słowo do tyłu to Alt + b. Zobacz cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC5
sleske
3

Może szukasz czegoś takiego jak xiki. To jest jak edytor powłoki / tekstu.

Oto demonstracja wideo: http://youtu.be/bUR_eUVcABg

Jason
źródło
Xiki wygląda niesamowicie! Chcę, aby coś takiego działało w systemie Windows ...
Max
2
@Max zgodnie ze stroną github projektów: „Właśnie załataliśmy el4r, więc istnieje szansa, że ​​Xiki może działać w systemie Windows”. Możesz to sprawdzić tutaj: github.com/trogdoro/xiki
jason
Jest to zaskakująco schludne i nerdy, ale tak naprawdę nie to, co chciałem zrobić. Chciałem tylko użyć Basha lub innej popularnej powłoki. W każdym razie dzięki!
Frungi
3

Możesz używać Ctrl+ Lefti Ctrl+ Rightdo poruszania się po słowach zamiast znaków, Homea także Enddo przejścia do początku i końca wpisanego polecenia.

Sekhemty
źródło
2
Również Ctrl + A, aby przejść do początku i Ctrl + E, aby przejść do końca
ignis
1
@ignis powinieneś podać to w odpowiedzi.
evilsoup
2

Zobacz także stronę bash(1)podręcznika w Commands for Movingsekcji nagłówka, aby uzyskać informacje o innych skrótach nawigacyjnych.

Nevin Williams
źródło
1

Ctrl + A, aby przejść do początku i Ctrl + E, aby przejść do końca polecenia.

ignis
źródło