ข้อมูล GNU คืออะไร


62

ฉันเข้าใจว่า GNU Info คืออะไรและใช้อย่างไร แต่มีไว้เพื่ออะไร ทำไมมันมีอยู่ขนานกับหน้าคน? ทำไมไม่เขียน man page แบบละเอียดแทนที่จะจัดเตรียมยูทิลิตีแยกต่างหาก


3
ไฟล์ texinfo สามารถทำมาโคร Groff ได้มากขึ้น
จอร์แดน

15
มีข้อดีอย่างหนึ่งคือ man pages: "hyperlinks" ส่วนที่เหลือเป็นผู้ด้อยโอกาสเริ่มต้นด้วยการไม่ได้คิดค้นที่นี่ซินโดรมการผูกกุญแจตลกความยุ่งยากในการบำรุงรักษา dir และอื่น ๆ อีกมากมาย
Jens

4
ใช้info --vi-keysเพื่อทำให้การโยงคีย์ของข้อมูลรู้สึกคุ้นเคยมากขึ้น นอกจากนี้คุณยังสามารถใช้lessกับข้อมูลที่จะทำให้มันรู้สึกชอบ:man info --subnodes -o - $1 | lessคุณทำรูปแบบข้อความนี้หายไป

1
อีกวิธีหนึ่งคือเบราว์เซอร์ของคุณในgnu.org/manual (การใช้ Vimperator / Vrome เป็นทางเลือก)
nwk

คำตอบ:


63

GNU Info ถูกออกแบบมาเพื่อเสนอเอกสารที่ครอบคลุมเชื่อมโยงหลายมิติและเป็นไปได้ที่จะส่งออกไปยังหลายรูปแบบ

มีหน้าคนพร้อมใช้งานและสามารถพิมพ์งานได้ดีเยี่ยม อย่างไรก็ตามพวกเขาได้รับการออกแบบเพื่อให้แต่ละคนมีเนื้อหาชุดเล็กพอสมควร หน้าคนอาจมีการอภิปรายในฟังก์ชั่น C เดียวเช่น printf (3) หรือจะอธิบายคำสั่ง ls (1)

สิ่งนั้นจะพังลงเมื่อคุณเข้าสู่ระบบที่ใหญ่ขึ้น คุณจะจัดเตรียมเอกสารสำหรับ Emacs ไว้ใน man pages ได้อย่างไร? ตัวอย่างของปัญหาคือหน้า man Perl ซึ่งมี 174 man pages แยกต่างหากที่คุณสามารถอ่านเพื่อรับข้อมูล คุณเรียกดูผ่านสิ่งนั้นหรือค้นหาเพื่อค้นหาว่า && หมายถึงอะไร

เพื่อเป็นการปรับปรุงในหน้าเพจข้อมูลทำให้เรา:

  1. ความสามารถในการมีเอกสารเดียวสำหรับระบบขนาดใหญ่ซึ่งมีข้อมูลทั้งหมดเกี่ยวกับระบบนั้น (เทียบกับ 174 man pages)
  2. ความสามารถในการค้นหาข้อความแบบเต็มทั่วทั้งเอกสาร (v. man -k ซึ่งตรวจสอบคำหลักเท่านั้น)
  3. การเชื่อมโยงหลายมิติไปยังส่วนต่าง ๆ ของเอกสารเดียวกันหรือแตกต่างกัน (v. ส่วนดูเพิ่มเติมซึ่งทำขึ้นเป็นไฮเปอร์ลิงก์โดยบางส่วน
  4. ดัชนีของเอกสารซึ่งสามารถเรียกดูได้หรือคุณสามารถกด "i" และพิมพ์คำแล้วค้นหาดัชนีและนำคุณไปยังที่ที่ถูกต้อง (v. Nothing)
  5. การเรียกดูเอกสารเชิงเส้นผ่านแนวความคิดช่วยให้คุณอ่านส่วนก่อนหน้าและถัดไปหากคุณต้องการโดยใช้เมาส์หรือการกดแป้นพิมพ์ (v. Nothing)

มันยังเกี่ยวข้องหรือไม่ ทุกวันนี้คนส่วนใหญ่จะพูดว่า "เอกสารนี้ไม่ได้อยู่ใน manpage" และจะใส่ไว้ในรูปแบบ PDF หรือจะใส่ไว้ใน HTML ในความเป็นจริงระบบช่วยเหลือในหลาย ๆ OS นั้นใช้ HTML อย่างไรก็ตามเมื่อสร้าง GNU Info (1986) HTML ยังไม่มีอยู่ ทุกวันนี้ texinfo อนุญาตให้คุณสร้าง PDF ข้อมูลหรือรูปแบบอื่น ๆ เพื่อให้คุณสามารถใช้รูปแบบเหล่านั้นได้หากต้องการ

นั่นเป็นเหตุผลที่ GNU Info คิดค้น


6
man -K fooมีตัวเลือกตัวพิมพ์ใหญ่ทำการค้นหาข้อความทั่วโลกแบบเต็ม ลองman -K global-apropos- มันจะค้นหาหน้าต่างๆของmanตัวเองเป็นภาษาอังกฤษและเป็นภาษาท้องถิ่น
Volker Siegel

1
คุณรู้ได้อย่างไรว่า '&&' หมายความว่าอย่างไร ... คุณดูในดัชนี: "man perl" จากที่นั่นคุณเห็นภาพรวม, บทแนะนำ, คู่มืออ้างอิง, ภายใน, เบ็ดเตล็ด (หนังสือ, แหล่งชุมชน, ใบอนุญาต, บันทึกการเปลี่ยนแปลง) (~ 40) เอกสารเฉพาะภาษา + แพลตฟอร์มสำหรับสิ่งเหล่านี้สำหรับ '&&' ฉันดูในส่วนการอ้างอิงและดูไวยากรณ์ข้อมูลและตัวดำเนินการเป็นส่วนที่ 1 3 เหมือนคู่มืออ้างอิงภาษาส่วนใหญ่ && ดูเหมือนเป็น op ดังนั้นผมจึงมองใน manpage perlop และหน้าจอลง 2 รายการผู้ประกอบการทั้งหมดที่เปรียบเทียบกับการหากุญแจสำหรับ --vi โหมดหาเรื่องที่ 'ข้อมูล' ... โชคดี..
Astara

41

เหตุผลที่ระบบข้อมูลถูกประดิษฐ์ขึ้นเป็นสิ่งจำเป็น แต่ฉันเดาว่า "ความเกียจคร้านความโอหังและความอดทน" เป็นคำอธิบายที่ดีพอ ๆ กัน

จุดประสงค์ของโครงการ GNU คือการพัฒนาระบบปฏิบัติการและเครื่องมือที่สามารถแก้ไขได้อย่างอิสระและแจกจ่ายได้อย่างอิสระ ระบบ Unix แบบดั้งเดิมนั้นใช้ระบบการจัดรูปแบบเอกสาร nroff / troff จาก Bell Labs ซึ่งเป็นซอฟต์แวร์เชิงพาณิชย์ ในที่สุดระบบนั้นได้รับการออกแบบเชิงวิศวกรรมย้อนกลับและมีการสร้างทดแทน Groff ฟรี แต่นั่นก็เป็นเวลาหลายปีหลังจากที่โครงการ GNU เริ่มต้นขึ้น ดังนั้นการใช้ระบบ man สำหรับเอกสาร GNU ก่อนหน้านั้นจะต้องมีการใช้การเปลี่ยน troff ซึ่งเป็นภารกิจที่ยิ่งใหญ่

ในขณะเดียวกัน GNU Emacs เป็นโครงการใหญ่ครั้งแรกของ GNU และต้องมีเอกสารประกอบมากมาย Richard Stallman ได้เผชิญกับการใช้งานระบบ GNU ซึ่งเป็นซอฟต์แวร์ที่มีอยู่ซึ่งเขาสามารถใช้ในระบบของเขาได้ มีอยู่แล้วและมีความสามารถในการจัดรูปแบบเอกสารที่มีประสิทธิภาพ ซึ่งแตกต่างจาก nroff / troff TeX มีอิสระในการใช้งานและแจกจ่ายซ้ำ Texinfo ถูกสร้างขึ้นเป็นระบบเอกสารเพื่อยกระดับพลังของ TeX สำหรับคู่มือที่พิมพ์และ GNU Emacs สำหรับการประมวลผลและการอ่านเอกสารออนไลน์ ตัวประมวลผล Texinfo ดั้งเดิมและเบราว์เซอร์เอกสารข้อมูลถูกเขียนด้วย Lisp และวิ่งเข้าไปใน Emacs อรรถประโยชน์ Texinfo แบบสแตนด์อโลนมาหลายปีต่อมา


20

ตามที่หน้า Wikipedia กล่าวว่า TeXinfo ได้รับการออกแบบเป็นเอกสารทางการของโครงการ GNU โดย Richard Stallman เป็นชุดของมาโครที่อยู่ด้านบนของ TeX และได้รับการออกแบบสำหรับการเขียนคู่มือซอฟต์แวร์ ฉันคิดว่าสตอลแมนถือว่าหน้าคนไม่เพียงพอสำหรับงาน ข้อดีสองประการของ Texinfo ที่มีมากกว่าหน้าคนก็คือมันมีการเชื่อมโยงหลายมิติและที่สองคือโดยการออกแบบให้ง่ายต่อการแปลงเป็นรูปแบบอื่น

ADDENDUM: แม้ว่าจะไม่เกี่ยวข้องกับคำถามอย่างจริงจังโปรดทราบว่า man pages นั้นยังคงถือว่าเป็นระบบเอกสารมาตรฐานบนระบบ Unix-like ฟรีเช่นเดียวกับที่ทำงานบนเคอร์เนล Linux และรสชาติ BSD ต่างๆ ตัวอย่างเช่นเทมเพลตแพ็กเกจ Debian สนับสนุนให้เพิ่ม man page สำหรับคำสั่งใด ๆ และยังตรวจสอบ lintian สำหรับ man page Texinfo ยังไม่ได้ใช้กันอย่างแพร่หลายนอกโครงการ GNU


2
+1 โดยเฉพาะอย่างยิ่งสำหรับบันทึกเกี่ยวกับไฮเปอร์เท็กซ์ซึ่งฉันคิดว่าเป็นเหตุผลสำคัญที่ต้องการย้ายออกจากmanรูปแบบการพิมพ์ที่เน้นหนักที่คัดลอกมา
tripleee

@ChristopherSchultz แก้ไข
Faheem Mitha

ฉันคุ้นเคยกับหนังสือสำหรับเอกสารอ้างอิง ฉันสามารถอ่านได้แบบเต็มหน้าปก หากคู่มือและหนังสือไม่เพียงพอสำหรับการเขียนเอกสารคอมพิวเตอร์และภาษาจะไม่ได้รับการสอนหรือเรียนรู้ ในการเรียนรู้ส่วนใหญ่ติดตามความก้าวหน้าจากความรู้ต่ำ -> สูงพร้อมหัวข้อที่ซับซ้อนมากขึ้น หนังสือเป็นสิ่งที่เด็กทุกคนเรียนรู้จาก - นำเสนอข้อมูลตามลำดับ ลิงค์ H สำหรับการเน้นหัวข้อที่น่าสนใจแบบสุ่ม: ถ้าผู้เชี่ยวชาญ & ผู้เชี่ยวชาญของหัวข้อ - คุณรู้ว่าสิ่งที่คุณต้องการและลิงค์สามารถนำคุณไปที่นั่นได้อย่างรวดเร็ว สำหรับการอ้างอิงและการเรียนรู้การเชื่อมโยงไม่ดี
Astara

7

จากการปฏิบัติมุมมองinfoเป็นรายละเอียดมากที่สุดของสามระดับของเอกสารอ้างอิง:

สามระดับมักจะเพิ่มรายละเอียด:

--helpเป็นตัวเลือกที่คำสั่งร่วมกัน - ใช้งานสั้นสรุป ,
man- หน้าชายคลาสสิกการอ้างอิงอย่างรวดเร็วและ
info- รายละเอียดเพิ่มเติมได้ที่คู่มือการใช้ GNU จำเพาะ - The เต็มรูปแบบเอกสารอย่างเป็นทางการ

หากinfoหน้าไม่พร้อมใช้งานหน้าคนมักจะมีเอกสารฉบับเต็ม

โปรดทราบว่าหน้าคนมีว่าข้อมูลที่เหมือนกันเช่น--helpการส่งออกสำหรับคำสั่งจำนวนมากจาก coreutils GNU - ตัวอย่างls;

เปรียบเทียบls --helpและman lsเพื่อดูว่าความแตกต่างอยู่ในรูปแบบเท่านั้น


เริ่มต้นinfoโปรแกรมดูข้อมูลคือ
มีทางเลือกที่สะดวกสบายกว่าเช่นสำหรับเทอร์มินัลpinfoสำหรับ GUI konqueror:

pinfo ls

konqueror info:ls


คุณประหยัดฉันจะให้คุณ
mikeserv

@mikeserv ฉันไม่พบคุณลักษณะการรวมคำตอบย่อย ;)
Volker Siegel

hmmm ... น่าสนใจมากยกเว้นว่าคุณลืมพูดถึงhelpเป็นคำสั่งสำหรับคำสั่งในตัว bash aproposและwhatisเป็นคนที่มีตัวเลือกสำหรับการใช้งานจริง

การอ้างอิงเชื่อมโยงหลายมิติไม่ใช่คู่มือหรือหนังสือ วิกิหรือไม่? อาจ แต่คู่มือไม่เคยมาพร้อมกับการเชื่อมโยงหลายมิติในโลกออฟไลน์ พวกเขามาพร้อมกับการอ้างอิง (ดูบทที่ 38) แต่พวกเขาก็ไม่เก่งที่จะเรียนรู้ เมื่อไม่นานมานี้อ่านหนังสือ C ++ ที่ใหม่กว่าฉันสามารถยอมรับได้ว่าจะใช้การอ้างอิงไปข้างหน้าและข้างหลังหากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อที่จะกล่าวถึงในภายหลัง เมื่อคุณอ่านหนังสือแล้วการอ้างอิงเหล่านั้นสามารถช่วยได้มากในการค้นหาสิ่งต่าง ๆ แต่สำหรับคนที่เพิ่งเริ่มใช้โปรแกรมที่ซับซ้อน ฉันจะชอบหนังสือมากกว่า HTML หรือหน้าข้อมูลที่เชื่อมโยงทุกครั้ง
Astara

ฉันรักหน้าข้อมูล พวกเขาเป็นเหมือนการสอนมากกว่าหน้าคนและง่ายกว่าสำหรับผู้เริ่มต้น ลองinfo sedและinfo grepและเปรียบเทียบกับและman sed man grepหน้าคนมีเทคนิคมากขึ้นและไม่มีตัวอย่างส่วนใหญ่ มีข้อยกเว้นสำหรับสิ่งที่ฉันเพิ่งอธิบาย แต่มันถือเป็นจริงสำหรับคำสั่งส่วนใหญ่ฉันจะพูด
เฟอร์นันโดบาสโซ

3

1 - เทคโนโลยีขั้นสูง แต่มีน้ำหนักเบา

หน้าคนแบน

info เป็นต้นไม้

ทั้งสองยังคงเป็นข้อความดังนั้นจึงสามารถใช้ในระหว่างการพัฒนาระบบระดับต่ำ (ไม่เหมือน http ซึ่งต้องใช้ GUI และเบราว์เซอร์ที่พัดเต็มก่อนที่คุณจะใช้งานได้)

นอกจากนี้ยังเป็นประโยชน์เพราะลินุกซ์สามารถทำงานบนเครื่องทรัพยากรต่ำจำนวนมากเช่นสิ่งที่รันบน Arduino ของฉันจาก Atmel infoที่พบใน

(ประวัติ: infoคล้ายกับโกเฟอร์ถ้าคุณจำได้มันเป็นสิ่งที่เรามีก่อนที่เราจะย้ายไปเป็น GUI OS ของและโลกอินเทอร์เน็ตระเบิดฉันจำได้ว่าโกเฟอร์ทำงานได้ดีมากในการค้นหาข้อมูลและมันก็รวดเร็ว และเรียบง่ายมันสามารถขยายได้อย่างง่ายดายเต็มข้อความและรวดเร็ว)


หน้าคนไม่สามารถมีไฮเปอร์ลิงก์ที่ใช้งานได้ (เป็นไปไม่ได้ในเทคโนโลยีนี้)

infoสามารถและมีลิงก์ที่สามารถใช้งานได้จำนวนมากจากโหนดหนึ่งไปอีกโหนดหนึ่งหรือจากโหนดหนึ่งไปยังอีกโหนดหนึ่งทำให้ง่ายต่อการสำรวจคู่มือขนาดใหญ่ได้อย่างรวดเร็ว


2 - มีเนื้อหาที่ไม่พบในหน้าคน

แพคเกจมาตรฐานหลายแห่งยังมีแพคเกจน้องสาว-doc infoบ่อยครั้งที่เนื้อหานี้แล้วพบเฉพาะภายใน

แพ็คเกจเอกสารเหล่านี้เพิ่มหนังสือเล่มเล็กข้างในข้อมูลพร้อมส่วนและส่วนย่อย ในinfoศัพท์แสงเหล่านี้จะถูกเรียกnodesและโหนดสามารถมีอื่น ๆnodesในโครงสร้างต้นไม้

มีคำสั่งให้ปีนรอบต้นไม้นี่คือตัวอย่าง:

  • ตั้งค่าส่วนเช่นจากส่วน 2.1 ถึงส่วนที่ 2
  • ส่วนถัดไป (เช่นเลื่อนตามเคล็ดลับสาขาจากหน้าหนึ่งไปอีกหน้า) เช่นจากส่วนที่ 2 ไปยังส่วนที่ 2.1 และ ( สมมติว่าไม่มีส่วนที่ 2.2 ) เป็นต้นไปจนถึงส่วนที่ 3
  • ขวาส่วนเช่นจากส่วน 2 โดยตรงกับส่วน 3 ข้ามส่วน 2.1

หากคุณกำลังอ่านและคุณเลื่อนลงทีละบรรทัดแล้วคุณจะเยี่ยมชมทุกส่วนของหนังสือเล่มเล็กแต่ละเล่ม

คำสั่งที่สำคัญ

L - กลับไป - กรณีที่ต่ำกว่า 'L' ในขณะที่ลิตร AST มันเหมือนกับปุ่มย้อนกลับบนเว็บเบราว์เซอร์ของคุณ - กลับไปที่โหนดสุดท้ายที่เห็นในหน้าต่างนี้ (เริ่มแรกเรามีเพียงหน้าต่างเดียว) ว้าวเราสามารถแบ่งหน้าต่างเอกสารออกเป็นสองส่วนด้วย!


d - คนของฉัน - ไปที่โหนด' d irectory' หลัก - นี่คือส่วนบนของต้นไม้ INFO มีลิงค์ไปยังครอบครัว:

t - ครอบครัวของฉัน - ไปที่โหนดt op ของเอกสารนี้ - โดยทั่วไปสารบัญ

ยู - พ่อแม่ - ไปยูพีหนึ่งระดับ เช่นไปจากหัวข้อ 2.1 ถึงตอนที่ 2

n - พี่น้องของฉัน - ไปที่โหนดn ext ในระดับนี้ เช่นส่วนที่ 2 -> ส่วนที่ 3 (ไม่ใช่ 2.1)

p - พี่น้องของฉัน - ไปที่โหนด revious pในระดับนี้ เช่นส่วนที่ 3 -> ส่วนที่ 2

] - my children - ไปที่โหนดถัดไปในเอกสารเช่นส่วนที่ 2 -> ส่วน 2.1

[ - my children - ไปที่โหนดก่อนหน้าในเอกสารเช่นส่วน 2.1 -> ส่วนที่ 2


ฉันเองก็ไม่เข้าใจเหมือนกันว่าทำไมฉันถึงต้องการใช้ข้อมูล ฉันเคยขลุกอยู่ในนั้นและในตอนแรกพบว่ามันเป็นโรงเรียนเก่า แต่เนื่องจากฉันต้องการข้อมูลเพิ่มเติมสำหรับโครงการautoconfและแนะนำให้ฉันว่านี่คือที่ที่เอกสารนั้นอยู่ฉันจึงดูอีกครั้งเมื่อเร็ว ๆ นี้

สิ่งแรกที่ฉันต้องทำคือหาวิธีนำทางให้ดีขึ้น ฉันพบความช่วยเหลือจากHเกือบจะไม่ช่วยเหลือ จนกระทั่งฉันสังเกตเห็นว่าฉันสามารถเลื่อนลงไปที่ความช่วยเหลือนี้ .. แต่แล้วก็มีความสับสนมากเกินไป

ดังนั้นฉันจึงคัดลอกความช่วยเหลือนี้และวางไว้ด้วยกันใน Gnote และเริ่มพยายามทำความเข้าใจวิธีการinfoทำงาน

เมื่อฉันเรียนรู้เพิ่มเติมฉันเขียนความช่วยเหลือให้พวกเขาอีกครั้ง ฉันอยากรู้ว่าพวกเขามีคำสั่งอะไรบ้างและพวกเขาถูกจัดหมวดหมู่อย่างไร

ฉันสังเกตเห็นว่าการกดแป้นหลายครั้งถูกทำซ้ำโดยมี 2 หรือ 3 วิธีในการดำเนินการคำสั่งที่กำหนด ฉันยังสังเกตเห็นว่าทั้งหมดนี้ดูเหมือน emacs มาก

นี่คือคำสั่งข้อมูลสูตรโกงของฉัน:

HELP - info - commands

#####################################################################################################################################################
Short list - 'basic' Info command keys (see below for full list)

        C-g         Cancel the current operation.
        H           Close this help window. (toggle help window)
        q           Quit Info altogether.

        h           Invoke the Info tutorial.


        Move in this node
                Up          Move up one line.
                Down        Move down one line.


                PgUp        Scroll backward one screenful.      - also backspace
                PgDn        Scroll forward  one screenful.      - also     space

                Home        Go to the beginning of this node.
                End         Go to the end       of this node.

                TAB         Skip to the next    hypertext link.

                /           Search forward for a specified string.
                }           Search for next     occurrence.
                {           Search for previous occurrence.

        Move to other nodes
                RET         Follow the          hypertext link under the cursor.

                1...9       Pick the first...ninth item in this node's menu.
                0           Pick the last item in this node's menu.

                l           Last in history.  Go back to the last node seen in this window (initially we only have one window). (?? history)


                d           Go to the main 'directory' node.                    my people
        the Info main menu - "This is the top of the INFO tree."

                t           Go to the top node of this document.                my family       Generally the table of contents

                u           Go up one level.                                    my parent       e.g. go from Section 2.1, to Section 2.

                n           Go to the next     node on this level.              my siblings     e.g. section 2 -> section 3  (not 2.1)
                p           Go to the previous node on this level.

                ]           Go to the next     node in the document.            my children     e.g. section 2 -> section 2.1
                [           Go to the previous node in the document.  (?siblings)


                m <name>    Pick a menu item specified by name.
                f           Follow a cross reference specified by name.
                g           Go to a node specified by name.

                i           Search for a specified string in the index (if there is an index), and select the node referenced by the first entry found.

                I           Synthesize menu of matching index entries. ???




#####################################################################################################################################################
Full list - of commands available in Info windows:

Notes: 
        M-              (meta) is Alt;  (also you can use an Esc prefix instead of meta -hwj)
        M-C-            means hold both Ctrl and Alt down at same time
        *               Basic commands (listed above)



     HELP
*               H                                       (get-help-window)               Toggle display of help message
*               h                                       (get-info-help-node)            Visit Info node '(info)Help' (this gets:  man info )


     CANCEL
*                       C-g     C-x C-g M-C-g           (abort-key)                     Cancel current operation  (?? esc)

*               q       C-c                             (quit)                          Quit using Info
                        C-x C-c                         (quit)                          Quit using Info


     WINDOWS
                        C-l                             (redraw-display)                Redraw the display

                x       C-x 0                           (delete-window)                 Delete the current window
                        C-x 1                           (keep-one-window)               Delete all other   windows (leaving 1)

                        C-x 2                           (split-window)                  Split the current  window  (into 2)
                        C-x t                           (tile-windows)                  Divide the available screen space among the visible windows

                        C-x ^                           (grow-window)                   Grow (or shrink) this window

                        C-x o                           (next-window)                   Select the next window (other)

                        C-x C-b                         (list-visited-nodes)            Make a window containing a menu of all of the currently visited nodes

                        C-x w                           (toggle-wrap)                   Toggle the state of line wrapping in the current window

     VIEW OTHER FILE
                        C-x C-f                         (view-file)                     Read the name of a file and select it
                        C-x C-v                         (view-file)                     Read the name of a file and select it


     SCROLL
                        C-v                             (scroll-forward-page-only)      Scroll forward  in this window staying within node      ('v' looks like a down arrow)
                                M-v                     (scroll-backward-page-only)     Scroll backward in this window staying within node      (meta-v is the reverse, or up arrow)

*       PgDn    SPC                                     (scroll-forward)                Scroll forward  in this window (at end moving to next node??)
*       PgUp    DEL     C-h                             (scroll-backward)               Scroll backward in this window (at end moving to next node??)  (DEL = Backspace or Del)

                                M-C-v   ESC PgDn        (scroll-other-window)           Scroll the other window
                                        ESC PgUp        (scroll-other-window-backward)  Scroll the other window backward


     CURSOR MOVEMENT (within a 'node' / page)
        Right           C-f                             ( forward-char)                 Move forward  a character
        Left            C-b                             (backward-char)                 Move backward a character

                                M-b                     (backward-word)                 Move backward a word
                                M-f                     ( forward-word)                 Move forward  a word

                        C-a                             (beginning-of-line)             Move to the start of the line
                        C-e                             (end-of-line)                   Move to the end   of the line


*       Up              C-p                             (prev-line)                     Move up   to the previous line
*       Down            C-n                             (next-line)                     Move down to the next     line

                                M-r                     (move-to-window-line)           Move the cursor to a specific line of the window

*       Home    b               ESC <                   (beginning-of-node)             Move to the start of this node
*       End     e               ESC >                   (end-of-node)                   Move to the end   of this node


     SEARCHING
                /                                       (search)                        Read a string and search          for it
                s                                       (search)                        Read a string and search          for it
                ?                                       (search-backward)               Read a string and search backward for it

                R                                       (toggle-regexp)                 Toggle the usage of regular expressions in searches

                S                                       (search-case-sensitively)       Read a string and search for it case-sensitively

*               }       C-x n                           (search-next)                   Repeat last search in the same    direction
*               {       C-x N                           (search-previous)               Repeat last search in the reverse direction


                        C-s                             (isearch-forward)               Search interactively for a string as you type it
                        C-r                             (isearch-backward)              Search interactively for a string as you type it


                                M-/                     (tree-search)                   Search this node and subnodes for a string.

                                M-}                     (tree-search-next)              Go to next     match in Info sub-tree
                                M-{                     (tree-search-previous)          Go to previous match in Info sub-tree


     JUMP TO NODE CROSS REFERENCES (underlined links to nodes)
*               TAB                                     (move-to-next-xref)             Move to the next     cross reference
                BackTab         M-TAB                   (move-to-prev-xref)             Move to the previous cross reference  (Shift-tab)


     SELECT A NODE (hyperlink)
*               RET                                     (select-reference-this-line)    Select reference or menu item appearing on this line

*               1 .. 9                                  (menu-digit)                    Select this     menu item (link) # in this node's menu (this page's menu)
*               0                                       (last-menu-item)                Select the last menu item (link)   in this node's menu (this page's menu)

                <                                       (first-node)                    Select the first node in this file
                >                                       (last-node)                     Select the last  node in this file


*               d                                       (dir-node)                      Select the 'dir' node (in all files?)   the Info main menu - "This is the top of the INFO tree."

*               t                                       (top-node)                      Select the 'Top' node in this file      Generally the table of contents
*               u                                       ( up-node)                      Select the 'Up'  node in this file      i.e. go from Section 2.1, to Section 2.


*               n                                       (next-node)                     Select the Next node                    i.e. section 2.1 -> section 2.2
*               p                                       (prev-node)                     Select the Prev node


*               g <name>                                (goto-node)                     Read a node name and select it
*               m <item>                                (menu-item)                     Read a menu item and select its node    ???


                        C-x b                           (select-visited-node)           Select a node which has been previously visited in a visible window (c-x=Window, back)



     MOVE TO ANOTHER NODE (in the tree)
*               [                                       (global-prev-node)              Move backwards or up   through node structure (tree within this file)
*               ]                                       (global-next-node)              Move forwards  or down through node structure (tree within this file)

*               l                                       (history-node)                  last - Select the most recently selected node

     GET NODE INFORMATION
                =                                       (display-file-info)             Show full file name of node being displayed
                O                                       (goto-invocation-node)          Find the node describing program invocation


     READ IN NEW MENUS
                G <menus>                               (menu-sequence)                 Read a list of menus starting from dir and follow them  ???


     INDEX
*               i                                       (index-search)                  Look up a string in the index for this file (Search for a specified string in the index 
                                                                                                (if there is an index), and select the node referenced by the first entry found.

                ,                                       (next-index-match)              Go to the next matching index item from the last 'i' command

*               I                                       (virtual-index)                 List all matches of a string in the index

                        C-x f                           (all-files)                     Show all matching files


     FOOTNOTES
*               f                                       (xref-item)                     Read a footnote or cross reference and select its node
                r                                       (xref-item)                     Read a footnote or cross reference and select its node

                                M-C-f                   (show-footnotes)                Show the footnotes associated with this node in another window

     NUMERIC 
                        C-u                             (universal-argument)            Start (or multiply by 4) the current numeric argument
                                M--                     (add-digit-to-numeric-arg)      Add this digit to the current numeric argument
                                M-0 .. M-9              (add-digit-to-numeric-arg)      Add this digit to the current numeric argument


     MISC
                                M-x                     (execute-command)               Read a command name in the echo area and execute it     ?? pwd and ls don't work


#####################################################################################################################################################
The following text commands can only be invoked via M-x (Alt-x -hwj):

        This is a list of longer commands that can be typed, all prefixed with Alt-x:


        M-x scroll-forward-set-window                   Scroll forward  in this window                          and set default window size
        M-x scroll-backward-set-window                  Scroll backward in this window                          and set default window size

        M-x scroll-forward-page-only-set-window         Scroll forward  in this window  staying within node     and set default window size
        M-x scroll-backward-page-only-set-window        Scroll backward in this window  staying within node     and set default window size

        M-x down-line                                   Scroll down by lines
        M-x   up-line                                   Scroll up   by lines

        M-x scroll-half-screen-down                     Scroll down by half screen size
        M-x scroll-half-screen-up                       Scroll up   by half screen size


        M-x prev-window                                 Select the previous             xwindow

        M-x set-screen-height <number>                  Set the height of the displayed window

        M-x  find-menu                                  Move to the start of this node's menu

        M-x visit-menu                                  Visit as many menu items at once as possible

        M-x man <name of man page>                      Read a manpage reference and select it


        M-x print-node                                  Pipe the contents of this node through INFO_PRINT_COMMAND


        M-x clear-search                                Clear displayed search matches


        M-x describe-key <key combo>                    Print documentation for KEY  (one line of documentation)
        M-x where-is                                    Show what to type to execute a given command
        M-x describe-command                            Read the name of an Info command and describe it


        M-x index-apropos                               Grovel all known info file's indices for a string and build a menu (grep widely, and make a menu of what is found)


        M-x describe-variable                           Explain the use of a     variable
        M-x      set-variable                           Set the value of an Info variable


        M-x info-version                                Display version of Info being run




#####################################################################################################################################################
Commands available in the 'echo' area (i.e. at bottom of screen):

        (M- (meta) = Fn  (not alt) -hwj)


        C-l             (redraw-display)                        Redraw the display

        C-g     Esc     (echo-area-abort)                       Cancel or quit operation
        M-C-g           (echo-area-abort)                       Cancel or quit operation


     MOVE
        C-a     Home    (echo-area-beg-of-line)                 Move to the start of this line
        C-e     End     (echo-area-end-of-line)                 Move to the end   of this line

        C-b     Left    (echo-area-backward)                    Move backward a character
        C-f     Right   (echo-area-forward)                     Move forward  a character

        M-b             (echo-area-backward-word)               Move backward a word
        M-f             (echo-area-forward-word)                Move forward  a word

     COMMAND LINE COMPLETIONS
        M-?     ?       (echo-area-possible-completions)        List possible completions
        M-C-v           (echo-area-scroll-completions-window)   Scroll the completions window
        TAB     SPC     (echo-area-complete)                    Insert completion 
        RET     LFD     (echo-area-newline)                     Accept (or force completion of) this line


     DELETE/YANK
        C-d             (echo-area-delete)                      Delete the character under  the cursor
        C-h     DEL     (echo-area-rubout)                      Delete the character behind the cursor

        M-d             (echo-area-kill-word)                   Kill the word following the cursor
        M-DEL           (echo-area-backward-kill-word)          Kill the word preceding the cursor

        C-k             (echo-area-kill-line)                   Kill to the end       of the line
        C-x DEL         (echo-area-backward-kill-line)          Kill to the beginning of the line

        C-y             (echo-area-yank)                        Yank back the contents of the last kill
        M-y             (echo-area-yank-pop)                    Yank back a previous kill


     INSERT
        C-q             (echo-area-quoted-insert)               Insert next  character verbatim
        M-TAB           (echo-area-tab-insert)                  Insert a TAB character


     TRANSPOSE
        C-t             (echo-area-transpose-chars)             Transpose characters at point (and move ahead by one)

     NUMERIC ARGUMENTS ???
        C-u             (universal-argument)                    Start (or multiply by 4) the current numeric argument
        M--             (add-digit-to-numeric-arg)              Add this digit to the current numeric argument
        M-0 .. M-9      (add-digit-to-numeric-arg)              Add this digit to the current numeric argument

        C-x o           (next-window)                           Select the next window
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.