Dalam Bash (shell terminal Mac / Linux), dapatkah tombol panah atas dan bawah dibuat berfungsi seperti halnya editor teks?

8

Di editor teks, jika saya menekan tombol panah atas dan bawah, itu akan memindahkan kursor di antara baris teks.

Di Bash, jika saya mengetikkan perintah panjang yang membentang beberapa baris dan saya menekan tombol panah atas dan bawah, itu akan menelusuri sejarah perintah.

Saya ingin perilaku sebelumnya di Bash. Apakah ini mungkin? Jika tidak, apakah ada setiap cara untuk memindahkan kursor langsung naik atau turun dalam perintah multi-baris?

Frungi
sumber
Mereka bergerak di antara garis ... hanya saja garisnya sangat panjang.
vonbrand

Jawaban:

11

Tidak, itu tidak mungkin. Bash menggunakan GNU Readline untuk menangani input jalur interaktif. Tidak ada perintah di Readline yang bergerak di antara garis tampilan seperti yang Anda inginkan, juga tidak ada variabel konfigurasi yang sebanding dengan variabel garis-bergerak-visual dari GNU Emacs yang menyebabkan baris berikutnya dan baris sebelumnya bergerak oleh garis tampilan.

Kyle Jones
sumber
Mengecewakan, tapi terima kasih! Dan saya pikir jawaban untuk pertanyaan lain akan bermanfaat bagi orang-orang dengan pertanyaan yang sama: stackoverflow.com/questions/657130/…
Frungi
5

Apa yang saya lakukan adalah tekan CTRL + Panah Kiri dan akan melompat ke huruf pertama setelah spasi terakhir ditemukan. Anda dapat dengan cepat mencapai tempat yang Anda butuhkan dengan melakukan ini.

chrstphrmllr
sumber
1
Itu mengikat kunci non-standar. Penjilidan kunci standar untuk mundur dengan satu kata adalah Alt + b. Lihat cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC5
sleske
3

Mungkin Anda sedang mencari sesuatu seperti xiki. Ini seperti shell / editor teks.

Ini demo video: http://youtu.be/bUR_eUVcABg

jason
sumber
Xiki terlihat luar biasa! Saya ingin sesuatu seperti itu dapat berjalan di windows ...
Maks
2
@ Max menurut halaman proyek github, "Kami baru saja menambal el4r, jadi ada kemungkinan Xiki bisa bekerja di windows." Anda dapat memeriksanya di sini: github.com/trogdoro/xiki
jason
Ini mengejutkan rapi dan kutu buku, tetapi sebenarnya bukan apa yang ingin saya lakukan. Saya hanya ingin menggunakan Bash atau shell umum lainnya. Terimakasih Meskipun!
Frungi
3

Anda bisa menggunakan Ctrl+ Leftdan Ctrl+ Rightuntuk menavigasi kata-kata daripada karakter, dan Homedan Enduntuk pergi ke awal dan akhir perintah yang diketik.

Sekhemty
sumber
2
Juga, Ctrl + A untuk pergi ke awal dan Ctrl + E untuk pergi ke akhir
ignis
1
@ign Anda harus memasukkannya ke dalam jawaban.
evilsoup
2

Lihat juga halaman bash(1)manual di bawah bagian heading Commands for Movinguntuk pintasan navigasi lainnya.

Nevin Williams
sumber
1

Ctrl + A untuk pergi ke awal dan Ctrl + E untuk pergi ke akhir perintah.

ignis
sumber