In Bash (shell terminale Mac / Linux), i tasti freccia su e giù possono funzionare come negli editor di testo?


8

Negli editor di testo, se premo i tasti freccia su e giù, sposta il cursore tra le righe di testo.

In Bash, se sto digitando un comando lungo che si estende su più righe e premo i tasti freccia su e giù, scorre la cronologia dei comandi.

Voglio il precedente comportamento in Bash. È possibile? In caso contrario, c'è un modo per spostare il cursore direttamente verso l'alto o verso il basso in un comando multilinea?


Si muovono tra le linee ... solo che la linea è molto lunga.
vonbrand,

Risposte:


11

No, non è possibile. Bash utilizza GNU Readline per gestire l'input di linea interattivo. In Readline non esiste alcun comando che si sposta tra le righe del display come desiderato, né esiste una variabile di configurazione paragonabile alla variabile visuale del movimento di linea di GNU Emacs che fa sì che la riga successiva e la riga precedente si muovano tramite le righe del display.


Deludente, ma grazie! E credo che le risposte a un'altra domanda sarebbe utile per le persone con la stessa domanda: stackoverflow.com/questions/657130/...
Frungi


3

Forse stai cercando qualcosa come xiki. È come una shell / editor di testo.

Ecco una demo video: http://youtu.be/bUR_eUVcABg


Xiki è incredibile! Voglio qualcosa del genere che possa funzionare su Windows ...
Max

2
@Max secondo la pagina github dei progetti, "Abbiamo appena patchato el4r, quindi c'è una possibilità che Xiki possa funzionare in Windows." Puoi dare un'occhiata qui: github.com/trogdoro/xiki
jason

Questo è sorprendentemente pulito e nerd, ma in realtà non è quello che volevo fare. Volevo solo usare Bash o qualche altra shell comune. Grazie comunque!
Frungi,

3

Puoi usare Ctrl+ Lefte Ctrl+ Rightper navigare tra le parole anziché i caratteri Homee Endper andare all'inizio e alla fine del comando digitato.


2
Inoltre, Ctrl + A per andare all'inizio e Ctrl + E per andare alla fine
ignis

1
@ignis dovresti inserirlo in una risposta.
evilsoup,

2

Vedi anche la bash(1)manpage nella Commands for Movingsezione titolo per altre scorciatoie di navigazione.


1

Ctrl + A per andare all'inizio e Ctrl + E per andare alla fine del comando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.