“ มนุษย์” คืนค่าหน้าจอเมื่อฉันออกจากโปรแกรมอย่างไร


18

ถ้าผมเปิดหน้าคนของโปรแกรมเหมือนcatหรือlsจะพิมพ์ (ไม่อาจจะเป็นคำที่เหมาะสม) เนื้อหาของหน้าคนและเมื่อผมกดqมันแสดงให้เห็นหน้าจอเช่นเดียวกับก่อนที่จะกล่าวอ้างmanคำสั่ง การคืนค่าเกิดขึ้นได้อย่างไร อะไรที่ลบทุกอย่างแล้วพิมพ์เนื้อหาก่อนหน้าของเชลล์?

ตัวอย่าง:

[VAR121@Tesla Testing]$  man ls

เอาท์พุท:

LS(1)                                                        User Commands                                                        LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

 ............

เมื่อฉันกดqหน้าจอจะกลับไปที่ลักษณะที่ปรากฏเริ่มต้นของเชลล์เช่นพรอมต์ที่แสดงด้านล่าง

[VAR121@Tesla Testing]$  man ls
[VAR121@Tesla Testing]$

หน้าจอจะคืนค่าอย่างไร

คำตอบ:


19

"สำนักหักบัญชี" และ "การฟื้นฟู" หน้าจอที่เป็นจริงการทำงานของจำลอง terminal คุณกำลังใช้ ( xterm, gnome-terminal, konsole, screen)

โดยค่าเริ่มต้นเพจเจอร์ที่ใช้คือmanless

จาก man 1 man

   -P  pager
          Specify  which pager to use.  This option overrides the 
          MANPAGER environment variable, which in turn overrides 
          the PAGER variable.  By default, man  uses /usr/bin/less -is.

เมื่อlessมีการเรียกใช้ตัวจำลองเทอร์มินัลจะเปิดใช้งานเพื่อแสดงเนื้อหาของ man page เมื่อlessออกจากหน้าจอจะถูกทำลายและเครื่องจะแสดงสิ่งที่บันทึกไว้ในบัฟเฟอร์

มีคำตอบที่นี่ซึ่งกล่าวถึงเพิ่มเติมและวิธีการป้องกันไม่ให้โปรแกรมเช่นการlessเปิดตัว altscreen และทำให้การล้างหน้าจอเมื่อมันออก สรุปคุณสามารถกำหนดตัวแปรสภาพแวดล้อมเพื่อที่lessจะไม่เปิดตัว altscreen ในการเรียก หากคุณใช้ bash ให้วางไว้ใน ~ / .bashrc:

export MANPAGER="/usr/bin/less -r -X -is"


1
เรื่องเดียวกันด้วยviหรือไม่
VAR121

3
vim ให้เกียรติ altscreen ในเครื่องจำลองเทอร์มินัลของคุณ คุณสามารถเพิ่มสิ่งนี้ใน ~ / .vimrc ของคุณ - "set t_ti = t_te =" เพื่อเปลี่ยนความสามารถของเทอร์มินัลที่ vim ใช้
George M
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.