Jadikan penggunaan terminal pageup / pagedown alih-alih shift-pageup / shift-pagedown?


12

Saya sudah bosan dengan shift-pgup untuk berganti halaman di terminal gnome, baris perintah, terminator, dan guake, dll.

Adakah cara untuk membuat aplikasi ini dengan mudah menggunakan tombol lurus ke atas dan ke bawah untuk mencari halaman?

Jawaban:


9

Saya khawatir ini tidak mungkin, karena tidak ada PgUp / PgDown akan dikirim ke aplikasi command-line, yang akan membuat beberapa dari mereka tidak dapat digunakan. Ini bagus fitur Unix hari ini.

Jika Anda ingin lebih banyak scroll yang user-friendly, saya sarankan menggunakan lessperintah. Digunakan seperti ini:

command-with-lot-of-output | less

Ini akan memulai lessperintah dengan output dari perintah asli Anda. ( Lebih lanjut tentang perpipaan keluaran ke program lain dapat ditemukan di sini: http://www.dsj.net/compedge/shellbasics1.html )

Less dapat dinavigasi menggunakan panah atau PgUp / PgDown. Untuk kenyamanan Anda, ini juga menyediakan pencarian dan banyak lagi (lihat man lesslebih banyak). Anda dapat berhenti lesshanya dengan menekan qkunci.


3
Saya meneliti heck keluar dari ini dan sementara tampaknya ada di 100+ penekanan tombol bahwa Anda dapat memetakan di konsol perintah, page-up dan page-down bukan dua dari mereka!
HDave

less tidak cocok untuk hanya menggulung ke atas / ke bawah isi terminal Anda, dan memohonnya hampir tidak nyaman daripada menekan shift. Sama sekali bukan kesalahan Jakub, tapi sayangnya tidak ada jawaban untuk pertanyaan ini.
Jonathan Hartley

@ HD di sini adalah bagaimana melakukannya di xterm unix.stackexchange.com/questions/339160/…
William

1
@ JonathanHartley di sini adalah bagaimana melakukannya di xterm unix.stackexchange.com/questions/339160/…
William

1

Gunakan xtermdan atur keybindings (dalam ~/.Xresources) seperti ini:

xterm*VT100.Translations: #override \n\
    <KeyPress>Prior:scroll-back(1,page)\n\
    <KeyPress>Next:scroll-forw(1,page)\n\

gnome-terminal mengatakan PageUp / PageDown adalah untuk aplikasi di dalam terminal dan menggunakannya akan membingungkan ...


lalu mengapa xterm mendukung opsi dan bukan gnome terminal? Bagaimanapun saya adalah orang yang menautkan jawaban di atas dan memposting hadiah saya tidak memberikan hadiah untuk jawaban ini.
William

askubuntu.com/users/33577/liam-william Ups, saya tidak membaca sampai bagian bawah (di atas, ini tentang clipboard). Dan: cukup adil! Saya tidak akan memberikannya kepada saya: Saya mencoba memposting URL yang mendukung status terminal gnome saya, tetapi semua yang saya temukan sudah ketinggalan zaman, yaitu tautan yang tidak ada ...
aba

1

Konsole adalah emulator terminal untuk KDE yang menyediakan opsi yang relevan, di mana dapat dikonfigurasi untuk digunakanPage UpdanPage Downkunci untuk paging langsung. Tidak ada emulator terminal lain yang saya temukan semudah Konsole untuk penyesuaian seperti itu.

Cara mengarahkan paging

Di Konsole, lakukan langkah-langkah berikut.

  1. Di bilah menu, buka "Pengaturan" dan klik "Konfigurasikan Profil Saat Ini ..." (Kubuntu 12.04) atau "Edit Profil Saat Ini ..." (Kubuntu 16.04) dan sebuah jendela akan muncul.

  2. Klik pada tab "Input" (Kubuntu 12.04) atau tab "Keyboard" (Kubuntu 16.04), yang memiliki bagian yang disebut "Binding Kunci" dengan daftar bindings kunci yang telah ditentukan.

    Binding Kunci dalam Konsole

  3. Pilih "Default (XFree 4)" dan klik tombol "Edit ...", maka jendela lain akan muncul.

  4. Gulir ke bawah dan cari kombinasi tombol PgDown-Shift-AnyModifierdengan output \E[6~. Ubah nama output ini menjadi ScrollPageDown.

  5. Gulir ke bawah dan cari kombinasi tombol PgUp-Shift-AnyModifierdengan output \E[5~. Ubah nama output ini menjadi ScrollPageUp.

  6. Klik tombol "OK" untuk menyelesaikan dan menutup windows.

Cara menguji keluaran

Pada langkah 3, ada "Area Tes" untuk mengkonfirmasi output untuk setiap tombol tekan.

  • Klik untuk membawa fokus dalam bidang teks "Input:" dan tekan Page Updan Page Downtombol (satu per satu).

  • Konfirmasikan hasilnya sama dengan yang diganti namanya.

    Daftar Binding Kunci dan Area Tes di Konsole

Atau, tulis skrip sederhana untuk menggema pesan dalam lingkaran. Saya telah memasukkan skrip saya sendiri sebagai berikut.

  • Salin dan tempel baris kode berikut dalam editor teks.

    #!/bin/bash
    
    echo "Started script"
    echo "If no input, then loop"
    while true
    do {
        echo "Hello, world"
        echo "Wait 1 second to loop [q to quit]"
        read -t 1 -n 1 INPUT && echo
        if [ "$INPUT" == "q" ]
            then break
            else echo "UTC now: $(date -u +%H%M%S)"
        fi
        continue
    }
    done
    echo "Ended script"
    
  • Simpan sebagai file loop.shdan jalankan skrip di terminal yaitu bash loop.sh(tidak dapat dieksekusi).

  • Tunggu hingga pesan-pesan bergema mengisi area tampilan dan mulai menggulirkan output ke bawah.

  • Kemudian, tekan Page Updan Page Downtombol untuk menggulir ke atas dan menggulir ke bawah area tampilan.

Saya telah menguji menggunakan Konsole 2.8.5, KDE 4.8.5 di Kubuntu 12.04.

Bonus: Kombinasi dan output utama

Baiklah, jawaban bonus untuk klarifikasi. Orang mungkin bertanya-tanya mengapa saya harus mengedit kombinasi tombol itu dan bukan yang lain. Saya sudah mengetahuinya sebelumnya dengan menguji beberapa jenis keyboard.

Berikut ini adalah kombinasi tombol default dan outputnya, yang telah dipecahkan menggunakan "Area Uji" di Konsole.

Untuk tombol Page Up / Page Down kunci primer (termasuk varian keyboard yang perlu menekan Fntombol alias Fn + PgUp / Fn + PgDn):

  • Kombinasi kunci: PgDown-Shift-AnyModifier Output:\E[6~

  • Kombinasi kunci: PgUp-Shift-AnyModifier Output:\E[5~

Untuk tombol Page Up / Page Down sekunder (pintasan default di terminal yang membutuhkan Shifttombol alias Shift + PgUp / Shift + PgDn):

  • Kombinasi kunci: PgDown+Shift-AppScreen Output:ScrollPageDown

  • Kombinasi kunci: PgUp+Shift-AppScreen Output:ScrollPageUp

Perhatikan bahwa tanda minus -dan plus +berbeda antara setiap kata kunci untuk kunci primer dan sekunder. Itulah cara penekanan tombol diterjemahkan ke dalam karakter yang setara, setidaknya dalam Konsole.

Namun, saya tidak yakin apakah karakter yang setara itu benar-benar dipahami oleh emulator terminal lainnya. Sejauh ini yang saya tahu dari pengalaman sendiri.

Putusan

Untuk pengguna yang kuat yang tidak suka berurusan dengan berbagai file konfigurasi dan solusi yang membosankan seperti itu, Konsole akan dengan mudah memenangkan hati Anda. Tampaknya tidak ada yang memperhatikan tingkat penyesuaian yang ditawarkan oleh Konsole dan KDE selama empat tahun terakhir. Aneh sekali.


Jadi saya mencoba untuk PgDownberhenti menekan tombol pengaturan kombinasi tombol untuk tampaknya tidak berfungsi karena suatu alasan.
William

Anda bermaksud menghapus pintasan default? Jika mengosongkan bidang output tidak berfungsi, ganti output default ScrollPageDown, ScrollPageUpdengan yang sebelumnya diganti \E[6~, \E[5~untuk PgDown+Shift-AppScreendan PgUp+Shift-AppScreenkombo masing-masing. Penting untuk mengklik "OK" agar pengaturan dapat diterapkan.
clearkimura

tidak, saya ingin tidak harus menekan Shift pada saat yang sama dengan PgDown dan PgUp. Saya tidak percaya ini menjawab pertanyaan.
William

Maksud Anda langkah 4, 5 tidak berhasil untuk Anda? Aneh. Adakah tangkapan layar dengan tautan untuk menunjukkan apa yang Anda lihat?
clearkimura

1
Ini bekerja seperti pesona di Konsole 16.08.3 pada Fedora 24. Ada beberapa perbedaan kecil - tabnya disebut "Keyboard", bukan "Input", tetapi intinya adalah bagian yang menunjukkan cara mengubah nama output menjadi tepat. . Terima kasih telah menghilangkan 10 tahun gatal yang saya alami! ++ 1 ... Jika saya bisa memberi +10, saya akan.
Mike S

-2

Anda dapat menggunakan moreperintah seperti ini:

command-with-lots-of-output  |  more

ini akan memulai perintah keluaran asli Anda dengan lebih banyak.

moredapat dinavigasi dengan 'ruang'. Cukup tekan spasi dan lihat output dari perintah sebagai halaman.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.