Làm cho thiết bị đầu cuối sử dụng pageup / pagedown thay vì shift-pageup / shift-pagedown?


12

Tôi đã trở nên khá mệt mỏi với shift-pgup để lên trang trong thiết bị đầu cuối gnome, dòng lệnh, bộ kết thúc và guake, v.v.

Có cách nào để dễ dàng làm cho các ứng dụng này sử dụng các phím trang thẳng và trang xuống để phân trang không?

Câu trả lời:


9

Tôi e rằng điều này là không thể, vì sẽ không có PGUp / PGDown nào được gửi đến các ứng dụng dòng lệnh, điều này sẽ khiến một số trong số chúng không thể sử dụng được. Đây là tính năng Unix ngày tốt.

Nếu bạn muốn cuộn thân thiện hơn với người dùng, tôi khuyên bạn nên sử dụng lesslệnh. Nó được sử dụng theo cách này:

command-with-lot-of-output | less

Điều này sẽ bắt đầu lesslệnh với đầu ra của lệnh ban đầu của bạn. ( Thông tin thêm về đầu ra đường ống đến các chương trình khác có thể được tìm thấy ở đây: http://www.dsj.net/compedge/shellbasics1.html )

Ít hơn có thể được điều hướng bằng cách sử dụng mũi tên hoặc PGUp / PGDown. Để thuận tiện cho bạn, nó cũng cung cấp tìm kiếm và nhiều hơn nữa (xem man lessđể biết thêm). Bạn có thể thoát lessbằng cách nhấn qphím.


3
Tôi đã nghiên cứu cái quái gì đó và trong khi dường như có hơn 100 tổ hợp phím mà bạn có thể ánh xạ trong bảng điều khiển lệnh, trang lên và xuống trang không phải là hai trong số chúng!
HDave

ít hơn là không phù hợp cho việc chỉ cuộn lên / xuống trong nội dung của thiết bị đầu cuối của bạn và việc gọi nó hầu như không thuận tiện hơn so với nhấn shift. Không phải lỗi của Jakub, nhưng thật buồn khi không có câu trả lời cho câu hỏi này.
Jonathan Hartley

@HDave ở đây là làm thế nào để làm điều đó trong xterm unix.stackexchange.com/questions/339160/ Khăn
William

1
@JonathanHartley ở đây là cách thực hiện trong xterm unix.stackexchange.com/questions/339160/ mẹo
William

1

Sử dụng xtermvà điều chỉnh các phím bấm (trong ~/.Xresources) như thế này:

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

gnome-terminal cho biết PageUp / PageDown dành cho các ứng dụng trong thiết bị đầu cuối và việc sử dụng chúng sẽ gây nhầm lẫn ...


Vậy thì tại sao xterm lại hỗ trợ tùy chọn mà không phải là thiết bị đầu cuối gnome? Dù bằng cách nào, tôi là người cả hai đã liên kết câu trả lời ở trên và đăng tiền thưởng Tôi không đưa tiền thưởng cho câu trả lời này.
William

Askubfox.com/users/33577/vent-william Rất tiếc, tôi đã không đọc cho đến khi phía dưới (ở trên cùng, đó là về bảng tạm). Và: đủ công bằng! Tôi sẽ không đưa nó cho tôi: Tôi đã cố gắng để gửi một URL có hỗ trợ của tôi statemtent gnome-terminal, nhưng tất cả tôi thấy được lỗi thời, liên kết tức là không tồn tại ...
aba

1

Konsole là trình giả lập thiết bị đầu cuối cho KDE cung cấp tùy chọn có liên quan, trong đó có thể được cấu hình để sử dụngPage UpPage Downcác phím để phân trang trực tiếp. Không có trình giả lập thiết bị đầu cuối nào khác mà tôi thấy dễ dàng như Konsole cho việc tùy chỉnh như vậy.

Cách phân trang trực tiếp

Trong Konsole, làm các bước sau.

  1. Trong thanh menu, đi đến "Cài đặt" và nhấp vào "Định cấu hình cấu hình hiện tại ..." (Kubfox 12.04) hoặc "Chỉnh sửa hồ sơ hiện tại ..." (Kubfox 16.04) và một cửa sổ sẽ xuất hiện.

  2. Nhấp vào tab "Đầu vào" (Kubfox 12.04) hoặc tab "Bàn phím" (Kubfox 16.04), trong đó có một phần gọi là "Ràng buộc chính" với danh sách các ràng buộc chính được xác định trước.

    Ràng buộc chính trong Konsole

  3. Chọn "Mặc định (XFree 4)" và nhấp vào nút "Chỉnh sửa ...", sau đó một cửa sổ khác sẽ xuất hiện.

  4. Cuộn xuống và tìm kiếm sự kết hợp chính PgDown-Shift-AnyModifiervới đầu ra \E[6~. Đổi tên đầu ra này thành ScrollPageDown.

  5. Cuộn xuống và tìm kiếm sự kết hợp chính PgUp-Shift-AnyModifiervới đầu ra \E[5~. Đổi tên đầu ra này thành ScrollPageUp.

  6. Nhấp vào nút "OK" để hoàn tất và đóng các cửa sổ.

Cách kiểm tra đầu ra

Trong bước 3, có "Vùng kiểm tra" để xác nhận đầu ra cho mỗi lần bấm phím.

  • Nhấp để mang tiêu điểm trong trường văn bản "Nhập liệu:" và nhấn Page UpPage Downphím (mỗi lần một phím).

  • Xác nhận đầu ra giống như đã đổi tên.

    Danh sách ràng buộc chính và khu vực thử nghiệm ở Konsole

Hoặc, viết một tập lệnh đơn giản để lặp lại tin nhắn trong vòng lặp. Tôi đã bao gồm kịch bản của riêng tôi như sau.

  • Sao chép và dán các dòng mã sau trong trình soạn thảo văn bản.

    #!/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"
    
  • Lưu dưới dạng tệp tức là loop.shvà chạy tập lệnh trong terminal tức là bash loop.sh(không thể thực thi).

  • Đợi cho đến khi các tin nhắn được lặp lại lấp đầy khu vực xem và bắt đầu cuộn đầu ra xuống.

  • Sau đó, nhấn Page UpPage Downphím để cuộn lên và cuộn xuống khu vực xem.

Tôi đã thử nghiệm bằng Konsole 2.8.5, KDE 4.8.5 trong Kubfox 12.04.

Phần thưởng: Kết hợp chính và đầu ra

Được rồi, phần thưởng trả lời để làm rõ. Người ta có thể tự hỏi tại sao tôi phải chỉnh sửa các tổ hợp phím đó mà không phải những người khác. Tôi đã tìm ra điều đó sớm hơn bằng cách thử nghiệm một số loại bàn phím.

Dưới đây là tổ hợp phím mặc định và đầu ra của nó, đã được tìm ra bằng cách sử dụng "Vùng thử nghiệm" trong Konsole.

Đối với các phím Page Up / Page Down chính (bao gồm cả biến thể bàn phím yêu cầu nhấn Fnphím aka Fn + PGUp / Fn + PGDn):

  • Tổ hợp phím: PgDown-Shift-AnyModifier Đầu ra:\E[6~

  • Tổ hợp phím: PgUp-Shift-AnyModifier Đầu ra:\E[5~

Đối với các phím Page Up / Page Down thứ cấp (phím tắt mặc định trong thiết bị đầu cuối yêu cầu Shiftkhóa aka Shift + PGUp / Shift + PGDn):

  • Tổ hợp phím: PgDown+Shift-AppScreen Đầu ra:ScrollPageDown

  • Tổ hợp phím: PgUp+Shift-AppScreen Đầu ra:ScrollPageUp

Lưu ý rằng dấu trừ -+dấu cộng khác nhau giữa mỗi từ khóa cho khóa chính và khóa phụ. Đó là cách nhấn phím được dịch thành các ký tự tương đương, ít nhất là trong Konsole.

Tuy nhiên, tôi không chắc những ký tự tương đương đó có thực sự được hiểu bởi các trình giả lập đầu cuối khác hay không. Đây là theo như tôi biết bằng kinh nghiệm của chính mình.

Bản án

Đối với người dùng quyền lực không thích xử lý các tệp cấu hình khác nhau và cách giải quyết tẻ nhạt như vậy, Konsole sẽ dễ dàng chiếm được cảm tình của bạn. Dường như không ai nhận thấy mức độ tùy biến này được cung cấp bởi Konsole và KDE trong bốn năm qua. Cách kỳ lạ.


Vì vậy, tôi đang cố gắng nhấn nút thay đổi cài đặt tổ hợp phím để PgDowndường như không hoạt động vì một số lý do.
William

Bạn có nghĩa là để loại bỏ các phím tắt mặc định? Nếu làm trống trường đầu ra không hoạt động, hãy thay thế đầu ra mặc định ScrollPageDown, ScrollPageUpbằng cách thay thế trước đó \E[6~, \E[5~cho PgDown+Shift-AppScreenvà tổ PgUp+Shift-AppScreenhợp phím tương ứng. Điều quan trọng là nhấp vào "OK" để cài đặt được áp dụng.
Clearkimura

không, tôi muốn không phải nhấn Shift cùng lúc với PGDown và PGUp. Tôi không tin điều này đã trả lời câu hỏi.
William

Bạn có nghĩa là bước 4, 5 không làm việc cho bạn? Lạ thật. Bất kỳ ảnh chụp màn hình với liên kết để hiển thị những gì bạn đang nhìn thấy?
Clearkimura

1
Điều này hoạt động giống như một bùa mê trong Konsole 16.08.3 trên Fedora 24. Có một vài khác biệt nhỏ - tab được gọi là "Bàn phím" thay vì "Đầu vào", nhưng điểm mấu chốt là phần thể hiện cách đổi tên đầu ra là tại chỗ . Cảm ơn bạn đã loại bỏ ngứa 10 năm tôi đã có! ++ 1 ... Nếu tôi có thể cho +10, tôi sẽ làm thế.
Mike S

-2

Bạn có thể sử dụng morelệnh như thế này:

command-with-lots-of-output  |  more

điều này sẽ bắt đầu lệnh đầu ra ban đầu của bạn với nhiều hơn nữa.

morecó thể được điều hướng với "không gian". Chỉ cần nhấn khoảng trắng và xem đầu ra của lệnh dưới dạng trang.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.